Počet bodov:
Popis:  6b
Program:  4b

Zygro sa už niekoľko rokov nevie zbaviť sna o švédskej dedinke so zázračným spôsobom platenia1.

V tejto dedinke sa za nákupy platí nie celou sumou, ale len ciferným súčtom sumy. Ak máte za zmrzlinu zaplatiť 512 eur, zaplatíte len \(5+1+2=8\) eur a 504 ste ušetrili.

Zygro vyskúšal už všetko možné, ale sen sa stále vracia. Obsah je vždy rovnaký: zakaždým ide do obchodu a niečo si kúpi. Po prebudení si pamätá iba to, koľko peňazí ušetril. Jeho veštkyňa mu odporučila, aby si tieto čísla zapisoval (predpovedajú vraj jeho budúcnosť).

Zygro už síce veštkyňu nenavštevuje, no v zapisovaní pokračuje. Je totiž presvedčený, že musia mať nejaký význam. Nech sa však čísla snaží spracovať akokoľvek, výsledok je vždy nezmyselný. Posledná vec, ktorú ešte nevyskúšal, je zistiť, koľko peňazí by v dedinke zo sna minul, ak by sa v nej platilo normálnym spôsobom. Sám to však nevládze spočítať a preto prosí o radu vás.

Úloha

Zázračné platenie funguje nasledovne: Nech je skutočná cena nákupu \(n\) a ciferný súčet \(n\)-ka je \(c\). Zygro pri zázračnom platení zaplatí \(c\) peňazí a teda pri tomto nákupe ušetrí \(n-c\) peňazí.

Máte k dispozícii Zygrove záznamy z predošlých rokov. Každý záznam je celé nezáporné číslo \(m = n-c\), množstvo peňazí, ktoré Zygro ušetril zázračným platením pri nákupe. Vašou úlohou je zistiť, aké ceny mohli byť Zygrovi naúčtované za nákup pri platbe štandardným spôsobom, teda aké mohli byť hodnoty \(n\).

Formát vstupu

V prvom riadku vstupu je jediné číslo \(z\) (\(1 \leq z \leq 1\,000\)), udávajúce počet záznamov. Nasleduje \(z\) riadkov vstupu. V \(i\)-tom riadku vstupu je jediné číslo \(m_i\) (\(0 \leq m_i \leq 10^{18}\)), udávajúce množstvo peňazí, ktoré Zygro ušetril pri \(i\)-tom nákupe. Všimnite si, že \(m_i\) sa nezmestí do bežnej (32-bitovej) celočíselnej premennej. Pokiaľ programujete v Pascale, odporúčame vám použiť typ int64, v C++ typ long long.

Formát výstupu

Vypíšte \(z\) riadkov. Na \(i\)-tom riadku vypíšte všetky možné ceny pre pôvodný nákup zoradené od najmenšej po najväčšiu. Medzi hodnotami majú byť medzery, no za poslednou hodnotou medzera byť nesmie! V prípade, že neexistuje žiadna cena nákupu v platbe štandardným spôsobom, vypíšte prázdny riadok.

Príklady

Input:

1
504

Output:

510 511 512 513 514 515 516 517 518 519

Ak bola pôvodná cena 510, tak potom Zygro zaplatil \(5+1+0 = 6\). Teda ušetril dokopy \(510 - 6 = 504\) peňazí. \(511 - (5+1+1) = 504, 512 - (5+1+2) = 504, \dots\)

Input:

3
144
585
576

Output:

150 151 152 153 154 155 156 157 158 159

590 591 592 593 594 595 596 597 598 599

  1. Referencia na príklad z minulej série.

Odovzdávanie

Na odovzdávanie sa musíš prihlásiť

Otázky a diskusia

Po skončení kola budete mať príležitosť na diskutovanie o riešeniach v diskusii pod vzorovým riešením.