Faits: Faits: A. Par contrat daté du 23 juin 1997, les sociétés B._ SA (Switzerland) et C._ SA ont acquis la totalité du capital-actions d'une société anonyme italienne active dans l'industrie des matières plastiques. Les actions leur étaient vendues par un particulier à raison de deux pour cent du capital; le solde était fourni par une personne morale à qui A._ SA a succédé, depuis, en ce qui concerne les droits et obligations dérivant du contrat. Le prix de vente total, à verser aux deux vendeurs en proportion de leur apport, était fixé à quatorze millions de francs suisses. La part de ce prix due à la société venderesse était payable au comptant à raison de 9'604'000 fr.; le solde de cette part devait faire l'objet de paiement échelonnés au cours des années 1997 à 2000. Le contrat autorisait les acquéresses à réduire ou, le cas échéant, à refuser entièrement certains de ces paiements si le bénéfice annuel brut (gross profit) de l'entreprise vendue, évalué au 30 juin et au 31 décembre de chacune des années concernées, descendait au-dessous de 20'757 millions de lires italiennes. En mars 1999, les acquéresses ont fait savoir à A._ SA qu'à leur avis, le bénéfice brut convenu n'avait pas été atteint au 30 juin 1998 et que pour ce motif, elles refusaient les paiements subordonnés à ce résultat. Par la suite, C._ SA a pris le nom de D._ SA. Par la suite, C._ SA a pris le nom de D._ SA. B. Sur la base d'une clause d'arbitrage incluse dans le contrat de vente, A._ SA a ouvert action contre les acquéresses par une demande d'arbitrage adressée à l'organe compétent de la Chambre de commerce internationale (CCI). La demande tendait au paiement de 3'658'664 fr.67 avec intérêts au taux annuel de 5% dès le 23 juin 1997. A titre principal, les défenderesses ont contesté la compétence de la juridiction arbitrale; subsidiairement, elles se sont opposées à la demande et elles ont pris des conclusions reconventionnelles tendant au remboursement partiel, par 480'813 fr.50 avec intérêts annuels à 5% dès le 23 juin 1998, des sommes déjà versées par elles. Par une sentence incidente du 23 octobre 2000, le tribunal arbitral, entre-temps constitué, a admis sa compétence. Sans succès, les défenderesses ont contesté ce prononcé devant le Tribunal fédéral, qui a rejeté leur recours de droit public le 9 mai 2001 (arrêt 4P.290/2000). Le tribunal arbitral a ensuite instruit la cause; il a notamment ordonné une expertise destinée à établir les bénéfices bruts de l'entreprise vendue. Sa sentence finale est intervenue le 1er avril 2004; il a rejeté la demande principale et la demande reconventionnelle. Le tribunal arbitral a ensuite instruit la cause; il a notamment ordonné une expertise destinée à établir les bénéfices bruts de l'entreprise vendue. Sa sentence finale est intervenue le 1er avril 2004; il a rejeté la demande principale et la demande reconventionnelle. C. Agissant par la voie du recours de droit public prévu par l'art. 85 let. c OJ, la demanderesse requiert le Tribunal fédéral d'annuler la sentence finale. Elle prétend que son droit d'être entendue a été violé et elle tient la sentence pour contraire à l'ordre public. Invitées à répondre, les défenderesses concluent au rejet du recours; le tribunal arbitral a renoncé à présenter des observations. Conformément aux ordonnances prises à cette fin, la recourante a versé des sûretés en garantie des frais judiciaires et des dépens dont elle devrait éventuellement s'acquitter.