Počet bodov:
Program:  15b

Táto úloha sa dá nahradiť riešením sady loops_cpp na Liahni (betaliahen.ksp.sk) . Ak chceš, aby ti namiesto bodov za riešenie tejto úlohy boli započítané body získané riešením spomínanej sady, na stránke odovdzaj pdf-ko s prezývkou, ktorú používaš na Liahni.

Ak máte akékoľvek otázky ohľadom tejto, úlohy napíšte Matúšovi Zeleňákovi na

Znova raz nastal čas pečenia medovníkov a tak Žaba vytiahol z kredenca svoje tri formičky a začal vykrajovať! Po chvíli si však uvedomil, že zhŕňať odrezky z cesta a stláčať ich dokopy bude strašne otravné a neefektívne a preto by rád vedel, koľko perníkového cesta má urobiť tak, aby sa z neho dalo vykrajovať bez nechávania zvyškov.

Žaba je naviac strašne lenivý a v žiadnom prípade nechce následne umývať viac ako jednu zo svojich formičiek. Zároveň vie, že sa mu do robenia medovníkov neoplatí pustiť, ak plánuje pripraviť menej ako, povedzme, 500 gramov medovníkového cesta. A je rád, keď má na výber, preto by chcel vedieť niekoľko prvých možností pre množstvo cesta, ktoré bude vyhovovať jeho požiadavkam. Dúfam, že perfekcionistu Žabu nenecháte vyhladovať a pomôžete mu s jeho problémom…

Úloha

Viete, že Žaba musí spraviť aspoň \(n\) gramov cesta, aby sa mu do pečenia vôbec chcelo pustiť, a zároveň musí byť dané množstvo cesta deliteľné veľkosťou aspoň jednej z formičiek veľkostí \(a\), \(b\) a \(c\) (inak by vznikali nechcené zvyšky). Vašim cieľom je nájsť prvých \(m\) najmenších množstiev cesta, ktoré sú väčšie alebo rovné ako \(n\) a túto podmienku spĺňajú.

Váš program bude testovaný na piatich sadách vstupov. Pre každú sadu nájdete obmedzenia vstupných hodnôt v tabuľke nižšie. Body dostanete za každú sadu, ktorú úspešne vyriešite. Pozor, posledné dve sady obsahujú naozaj veľké čísla, riešenia používajúce klasické 32-bitové premenné typu int alebo longint na nich zaručene zlyhajú. Použite preto 64-bitové premenné – typ long long v C++, typ int64 v Pascale alebo typ long v Jave.

Číslo sady 1 2 3 4 5
\(n \leq\) \(10\,000\) \(10^6\) \(10^9\) \(10^{12}\) \(10^{15}\)
\(m \leq\) 100 \(1\,000\) \(20\,000\) \(10^5\) \(10^6\)
\(a,b,c \leq\) 100 \(1\,000\) \(20\,000\) \(10^5\) \(10^6\)

Malá rada na záver: existuje vzorové riešenie, ktoré nepoužíva žiadne polia. Ak aj úlohu vyriešite s ich použitím, skúste napísať aj program, ktorý ich nepoužije.

Vstup

Na prvom riadku vstupu dostanete dve celé čísla \(n\) a \(m\), pričom \(n\) označuje minimálne množstvo cesta a \(m\) je počet možností, ktoré máte nájsť. Druhý riadok vstupu obsahuje tri čísla \(a\), \(b\), \(c\) určujúce veľkosti troch formičiek, ktoré má Žaba k dispozícií.

Výstup

Vypíšte jeden riadok s \(m\) číslami oddelenými medzerou označujúcimi vyhovujúce množstvá cesta usporiadané od najmenšieho po najväčšie. Nezabudnite na znak konca riadku.

Príklad

Input:

7 9
3 5 11

Output:

9 10 11 12 15 18 20 21 22

Čísla 9, 12, 15, 18 a 21 sú deliteľné 3, čísla 10, 15 a 20 číslom 5 a čísla 11 a 22 číslom 11. Vynechané čísla 13, 14, 16, 17, 19 nie sú deliteľné ani jedným z týchto čísel, preto sa vo výsledku nevyskytli.

Input:

42 6
1 2 3

Output:

42 43 44 45 46 47

Formičku 1 vieme použiť na akokoľvek veľké cesto.

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.