Prihlásenie Registrácia  

B - Zlepené prvočísla

Časový limit: 5s, Pamäťový limit: 64MiB

Programovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3.4, Python 3.11

Počet bodov: 2

[ Pošli riešenie ] [ Tvoje riešenia ] [ Správne riešenia ] [ Vzorové riešenie ]

"Zlepené prvočíslo" je číslo, ktoré vzniklo z niekoľkých (možno len jedného) prvočísel ich zlepením. Napríklad číslo 7131 vzniklo zlepením prvočísel 71 a 31.

Úloha

Dané je číslo A. Vypíšte takú postupnosť prvočísel (nie väčších ako 1000), aby ich zlepením vzniklo číslo A. Ak taká postupnosť neexistuje vypíšte "no solution".

Vstup

Vstup bude v prvom riadku obsahovať číslo N≤1000.
Po ňom bude nasledovať N riadkov. Každý z týchto riadkov bude obsahovať prirodzené číslo A. Môžete predpokladať, že číslo A má menej ako 200 cifier.

Výstup

Pre každé číslo A zo vstupu vypíšte jeden riadok.
Ak pre číslo A neexistuje rozklad, riadok bude obsahovať reťazec "no solution".
Ak pre číslo A rozklad existuje, vypíšte prvočísla (oddelené medzerou), ktorých zlepením vnikne číslo A.
Ak je riešení viac, vypíšte také, v ktorom je 1. prvočíslo najmenšie. Ak je naďalej riešení viac, vypíšte to z nich, v ktorom je najmenšie 2. prvočíslo ak je ešte stále viac riešení snažte sa o čo najmenšie 3.prvočíslo atď. .

Príklad

Vstup:

5
7131
31432071
323
9
23745976247529742071

Výstup:

7 131
no solution
3 2 3
no solution
no solution