Sõnumi kaks kuju
문제
Juku osaleb õpilassatelliidi projektis ja tema hoole alla on antud satelliidi juhtimine maa pealt saadetud sõnumitega. Sõnumid koosnevad sõnumi alguse ja lõpu märgist (vastavalt '{' ja '}') ja tühikutega eraldatud täisarvudest. Juku muretseb aeglase andmeside pärast ja otsustab, et sõnumitele tuleb anda lühem kuju.
Ta teab, et tekstikujul olevaid numbreid esitatakse ühe baidi ehk 8 bitiga. Aga kui esitada üks number kuueteistkümnendsüsteemis, siis võtab see ruumi ainult 4 bitti. Lisaks on 16-numbrite hulgas veel väärtuseid, mida saab sõnumi pakkimiseks ära kasutada. (Meeldetuletuseks: 16-süsteemis kasutatakse numbritena 09 ja AF, kus 09 väärtused on ja AF väärtused . Kahekohalise 16-arvu väärtus on .)
Ta otsustab pakkida sõnumeid järgmiste reeglite järgi:
- Sõnumi alguse tähiseks on 16-number
Eja lõpu tähiseks 16-numberF. - Kui sisendsõnumis olevas arvus on järjest 3 kuni 15 nulli, kirjutatakse väljundsõnumisse nende asemele 16-number
Bja selle järele nullide jada pikkus 16-arvuna3F. Kui nullide jada pikkus on suurem kui 15, siis kirjutatakse numbriBjärele number0ja selle järele jada pikkus 16-arvuna10FF. - Iga sisendsõnumis olev arv tuleb väljundsõnumisse kirjutada nii, et see algab 16-numbriga
A. Kui arvu pikkus on kuni 15, kirjutatakse seeAjärele 16-arvuna1F. Kui arvu pikkus on suurem kui 15, siis kirjutatakse numbriAjärele number0ja selle järele pikkus 16-arvuna10FF. Mõlemal juhul kirjutatakse pikkuse järele arv ise. Kui arv sisaldab järjest rohkem kui kaks nulli, siis tuleb need enne pakkida eelmises punktis kirjeldatud reegli järgi ja arvu pikkuseks ei arvestata mitte algse arvu, vaid pakkimise tulemuse pikkust. - Kui pakitud sõnumis on paaritu arv 16-numbreid, siis tuleb kõige lõppu (
Fjärele) lisadaD.
Koosta Jukule sõnumite pakkimiseks programm, mis loeb sisendfailist saadetava sõnumi ja kirjutab väljundfaili selle pakkimise tulemuse tekstilisel kujul.
입력
Tekstifailis on täpselt üks rida, millel on üks edastatav sõnum. Sõnumis on kuni 100 positiivset arvu, mis on kõik väiksemad kui .
출력
Tekstifaili ainsale reale väljastada pakitud sõnum tekstilisel kujul nii, et iga 16-number on esitatud ühe märgina. Seda tuleb teha vastuse loetavuse huvides, sest kui nendest 16-arvudest panna kokku päris baidid, siis on tulemus inimesele raske lugeda.
예제
예제 1
{ 10 555 2000 79 }EA210A3555A32B3A279F