SVERTAS  (Švedija)

(Vykdymo laikas – 3 sek. Pentium 200 Mhz) 

Pirmame paveiksle matome svertą pusiausvyros būsenoje. Naudojami penki svarsčiai: 1 kg, 2 kg, ... 5 kg. Atstumas tarp dviejų pakabų lygus 1 m. Pusiausvyrą galite patikrinti skaičiuodami:

  -3·3 + -1·5 + 2·(1+2+4)=0
  -2·1 + -1·2 + 1·4=0

Pusiausvyros uždavinį nusako sverto struktūra, kuri aprašoma simbolių eilute. Aukščiau pateiktą pavyzdį galima aprašyti šitaip:

     (-3,-1,2(-2,-1,1))

Reikia apskaičiuoti svorius taip, kad svertas būtų pusiausvyros būsenoje, ir pateikti atsakymą kita simbolių eilute. Pirmam paveikslui su penkiais svarsčiais atsakymas yra

     (3,5,(1,2,4))

Jūs turite parašyti programą, kuri iš pradinių duomenų bylos perskaitytų sverto struktūrą, apskaičiuotų svarsčių svorius ir atsakymą įrašytų į rezultatų bylą. 

•	Jei yra n svarsčių, reikia panaudoti visus svarsčius nuo 1 kg iki n kg lygiai po vieną kartą.
•	n 17.
•	Ant sverto horizontalės negali būti daugiau kaip 7 prikabinimų. Pirmame paveiksle pateiktą svertą sudaro 2 horizontalės, kiekviena su 3 prikabinimais.
•	Pradinė eilutė pateikiama vienintelėje pradinių duomenų bylos MOBILE.IN eilutėje. Visi skaičiai yra sveikieji nuo -50 iki 50 imtinai.
•	Rezultatų eilutė turi būti pateikiama vienintelėje rezultatų bylos MOBILE.OUT eilutėje, nepridedant tarpų.
•	Laikykite kad kiekvienam duotam testui egzistuoja bent vienas sprendinys. Jeigu galimas daugiau negu vienas sprendinys, pakanka rasti vieną iš jų.

Toliau pateikiami du pavyzdžiai su pradinių duomenų ir rezultatų eilutėmis.

Pradiniai duomenys (byla MOBILE.IN)
(-3(-1(-1(-1,1,2),3),2),3(-2,1,2),6(-2,3))

Rezultatai (byla MOBILE.OUT)
((((8,6,1),5),10),(9,4,7),(3,2))

Pradiniai duomenys (byla MOBILE.IN) 
(-8,-4(-5,-3,-1,1),-2(-1,1,3),2(-1(-3,-2,1(-2,1,3)),1,3),6)

Rezultatai (byla MOBILE.OUT)
(10,(1,2,4,15),(14,5,3),((6,8,(16,11,7)),9,13),12)