Zoznam úloh

4. Keď sa ponáhľaš...

Laura si objednala balík. Zmeškala však kuriéra, a tak ju balík išiel čakať na pobočku pošty. Laura počkala do posledného možného dňa, aby si poň išla. A celkom sa ponáhľa, lebo ešte nemá dorobený projekt do školy (a hádajte, kedy ho musí odovzdať).

Laura však akosi vôbec nerátala s tým, že na pošte bude dlhá rada. A tá je veru dlhá. Na displeji jediného otvoreného okienka vidí ‘obsluhujeme zákazníka číslo: $n$’.

Laure sa skrivili pery hrôzou keď jej automat vydal časenku s číslom $n$ + strašne veľa.

Nevadí, Laura je pripravená. V zadnom vrecku nosí prenosný automat na časenky, ktorým si vie dopomôcť.

Nanešťastie, jej automat je trošku pokazený, a nevie vytlačiť časenku s len jedným číslom, vždy zaňho napíše nejaké ďalšie…

A Laura sa fakt ponáhľa, inak zmešká balík aj projekt do školy. Pomôžte Laure, a nájdite najmenšie číslo väčšie ako $n$ ktoré si vie svojim prenosným automatom vytlačiť.

Úloha

Pre dané číslo $n$ nájdite najmenšie väčšie číslo, ktoré sa dá napísať tak, že za sebou píšeme po sebe idúce čísla.

Formálne, hľadáme najmenšie číslo $x$ také, že

  1. $x > n$
  2. Musí existovať nejaké celé číslo $a$ také, že keď za sebou napíšeme cifry čísel $a, a+1, \cdots, a+(k-1)$, dostaneme cifry čísla $x$
  3. v horeuvedenej podmienke $k > 1$. Musíme teda napísať aspoň dve čísla za sebou.

Napríklad pre $a = 3$ a $k = 4$ vyrobíme číslo $x=3456$, a pre $a = 99$ a $k = 3$ vyrobíme $x=99100101$.

Formát vstupu

V prvom riadku vstupu je číslo $1 \leq T \leq 100$, udávajúce počet kráť čo sa Laura ponáhľala na pošte (a teda počet prípadov, ktoré musíte vyriešiť).

V každom z nasledujúcich $T$ riadkov je jedno celé číslo $n$.

V jednotlivých sadách platia nasledujúce obmedzenia:

Sada 1 2 3
$1 \leq n \leq$ $10^6$ $10^{18}$ $10^{18}$

V druhej sade navyše platí, že pre dané $n$ na vstupe je odpoveď vždy výsledkom napísania práve dvoch čísel za sebou, teda $k=2$ v horeuvedenej definícií.

Formát výstupu

Pre každé číslo $n$ na vstupe vypíšte jedno číslo, ktoré spĺňa podmienky úlohy.

Príklad

Vstup

3
47
9999
222324

Výstup

56
12345
223224
Pre odovzdávanie sa musíš prihlásiť.
Trojsten

Korešpondenčný seminár z programovania zastrešuje občianske združenie Trojsten.

Kontakt
Ďalšie projekty