Notăm cu şi câtul şi respectiv restul împărţirii unui numar la , unde este un număr natural nenul. Asupra numărului putem efectua succesiv următoarele operaţii:
reprezintă transformarea numărului în numărul pentru orice rest
reprezintă transformarea numărului în numărul doar dacă
Cerință
Se dau şi două numere naturale nenule.
Efectuaţi asupra numerelor şi operaţii succesive, sau , pentru valori alese ale lui , astfel încât după un număr finit de operaţii cele două numere să devină egale, iar valoarea astfel obţinută să fie minimă.
Date de intrare
Fişierul de intrare operatii.out
conţine pe o singură linie: două numere naturale nenule, separate printr-un spaţiu, reprezentând cel două numere date.
Date de ieșire
Fişierul de ieşire operatii.out
conţine pe cele linii următoarele:
- pe prima linie, numărul natural nenul , reprezentând valoarea minimă obţinută din şi prin aplicarea unor succesiuni de operaţii sau ;
- pe a doua linie, numărul operaţiilor efectuate asupra primului număr ;
- pe următoarele linii:
- perechi de numere reprezentând operaţia ( sau ) şi respectiv valoarea lui pentru operaţia respectivă, separate printr-un spaţiu;
- numărul operaţiilor efectuate asupra celui de al doilea număr , pe linia .
- pe următoarele linii:
- perechi de numere reprezentând operaţia ( sau ) şi respectiv valoarea lui pentru operaţia respectivă, separate printr-un spaţiu.
Restricții și precizări
- (două miliarde)
Exemplu
operatii.in
11 45
operatii.out
15
2
2 3
1 2
2
2 2
2 4