Gigel a descărcat pe telefon un joc nou. Jocul are mai multe camere. Pentru a trece dintr-o cameră a jocului în următoarea cameră este nevoie de o cheie potrivită, care va deschide ușa ei. La începutul jocului se cunosc două chei digitale, ce reprezintă două numere naturale. Cu aceste chei se vor deschide ușile primelor două camere. Pentru a afla cheia ce deschide ușa unei camere următoare, Gigel utilizează ultimele două chei din joc, pe care le notează c1
și c2
. Cu aceste chei va obține un număr nou, notat c
, care conține ultima cifră din c1
și prima cifră din c2
, în această ordine. Dacă cheia c1
se termină cu cifra zero, c
va fi egal cu prima cifră din c2
. Dacă numărul c
este număr prim, va reprezenta cheia cu care se va deschide ușa camerei pentru a trece în altă cameră a jocului. Dacă numărul c
nu este prim, cheia camerei va fi egală cu diferența obținută prin scăderea din numărul c
a factorilor lui primi. Dacă c
este egal cu 1
, cheia camerei va fi numărul 1
. Jocul se termină când ultima cheie obținută este egală cu una dintre ultimele trei chei utilizate exact înaintea ei.
Cerința
Cunoscând primele două chei ale jocului, notate x
și y
, să se obțină și să se afișeze șirul format din cheile camerelor din joc, în ordinea utilizării lor, până la terminarea jocului.
Date de intrare
Fișierul de intrare chei.in
conține pe prima linie două numere naturale x
și y
ce reprezintă primele două chei digitale din joc.
Date de ieșire
Fișierul de ieșire chei.out
va conține un șir de numere naturale, separate prin spațiu ce reprezintă cheile utilizate pentru deschiderea ușilor camerelor, în ordinea obținerii lor, până la terminarea jocului. Primele două numere din acest șir sunt egale cu primele două chei digitale care se află în fișierul de intrare.
Restricții și precizări
1 < x, y ≤ 999
- Pentru o cheie digitală
c < 10
, prima și ultima cifră a sa sunt egale cuc
- Jocul lui Gigel are cel puțin
3
camere și cel mult100
de camere - Ultima cheie obținută pentru joc, care coincide cu una dintre ultimele trei chei utilizate exact înaintea ei, nu se afișează.
Exemplul 1:
chei.in
20 72
chei.out
20 72 7 24 67 21
Explicație
Primele două chei din joc sunt 20
și 72
. Cu acestea se obține numărul 7
care este prim și reprezintă cheia următoare din joc.
Din cheile 72
și 7
, se obține numărul 27
care nu este prim și are factor prim pe 3
. Cheia următoare este egală cu valoarea diferenței 27 - 3 = 24
.
Din cheile 7
și 24
se obține numărul 72
care nu este prim și are factorii primi 2
și 3
. Cheia nouă este egală cu 72 - 2 - 3 = 67
.
Din cheile 24
și 67
se obține numărul 46
care nu este prim și are factorii primi 2
și 23
. Cheia nouă este egală cu 46 - 2 - 23 = 21
.
Din cheile 67
și 21
se obține numărul 72
care nu este prim și are factorii primi 2
și 3
. Cheia nouă este egală cu 72 - 2 - 3 = 67
. Această cheie coincide cu una dintre ultimele trei chei utilizate în joc: 24
, 67
și 21
. Jocul se termină și această ultimă cheie nu se afișează.
Exemplul 2:
chei.in
20 17
chei.out
20 17 1 71
Explicație
Primele două chei din joc sunt 20
și 17
. Cu acestea se obține numărul 1
care este cheia următoare din joc.
Din cheile 17
și 1
se obține numărul 71
care este prim și reprezintă cheia următoare.
Din cheile 1
și 71
se obține numărul 17
care este prim și a fost utilizat deja, jocul se termină și această ultimă cheie nu se afișează.