muzica

Time limit: 1s Memory limit: 64MB Input: muzica.in Output: muzica.out

Fiind elev la un liceu de artă, secţia muzică, Andrei îşi propune să studieze o gamă nouă formată din 1010 note muzicale. Pasionat şi de matematică îşi propune pornind de la două numere naturale aa şi bb (a<ba < b) să compună o „Simfonie interminabilă”, generând un şir de note în gama cea nouă. Astfel, el generează fiecare notă a simfoniei înmulţind pe aa cu 1010 şi împărţind rezultatul la bb (împărţire întreagă). Pentru a nu genera aceeaşi notă, el modifică de fiecare dată pe aa, înlocuindu-l cu restul împărţirii lui a10a \cdot 10 la bb. Deci notele sunt generate după regula a10a \cdot 10 div bb, unde după fiecare pas a se schimbă astfel: a=a10a = a \cdot 10 mod bb (operaţia div reprezintă câtul întreg al împărţirii, iar mod este întregul ce reprezintă restul împărţirii întregi a două numere).
Astfel, pornind de la a=42a = 42 şi b=130b = 130, el va genera notele: 3 2 3 0 7 6 9 2 3 0 7 6 9 23 \ 2 \ 3 \ 0 \ 7 \ 6 \ 9 \ 2 \ 3 \ 0 \ 7 \ 6 \ 9 \ 2 etc.

  • 3=42103 = 42 \cdot 10 div 130130, iar aa devine a=4210a = 42 * 10 mod 130130, deci a=30a = 30;
  • 2=30102 = 30 \cdot 10 div 130130, a=300a = 300 mod 130130, a=40a = 40;
  • 3=40103 = 40 \cdot 10 div 130130, a=400a = 400 mod 130130, a=10a = 10;
  • 0=10100 = 10 \cdot 10 div 130130, a=100a = 100 mod 130130, a=100a = 100;
  • 7=100107 = 100 \cdot 10 div 130130, a=1000a = 1000 mod 130130, a=90a = 90;
  • 6=90106 = 90 \cdot 10 div 130130, a=900a = 900 mod 130130, a=120a = 120;
  • 9=120109 = 120 \cdot 10 div 130130, a=1200a = 1200 mod 130130, a=30a = 30;
  • 2=30102 = 30 \cdot 10 div 130130, a=300a = 300 mod 130130, a=40a = 40;
    etc.

Ascultând simfonia, Andrei constată că, de la un moment dat, o secvenţă începe să se repete identic de un număr infinit de ori. Andrei numeşte secvenţa formată de primele note, cele aflate înaintea secvenţei care se repetă, „tema”, iar secvenţa care se repetă, „refrenul” simfoniei. De exemplu, în secvenţa anterioară, 33 este tema, iar 230769230769 este refrenul. El consideră tema şi refrenul cu lungimi cât mai mici posibil. Astfel, în exemplul anterior, nu se pot considera temă respectiv refren nici 3232 şi 307692307692, nici 33 şi 230769230769230769230769. Există şi cazul în care nu există temă, adică simfonia începe direct cu refrenul.

Cerință

Scrieţi un program care, citind două numere naturale aa şi bb (a<ba < b), va determina cifrele temei şi cifrele refrenului. Se vor afişa cifrele temei, în continuare cifrele refrenului apoi un spaţiu urmat de un număr reprezentând câte cifre are refrenul.

Date de intrare

Fişierul de intrare muzica.in conţine pe prima linie două valori: aa şi bb numere naturale, separate printr-un spaţiu.

Date de ieșire

Fişierul de ieşire muzica.out va conţine o singură linie cu cifrele temei urmate în continuare de cifrele refrenului şi, după un spaţiu, numărul de cifre ale refrenului.

Restricții și precizări

  • 1<a,b<1 0001 < a, b < 1 \ 000;
  • aba \neq b;

Exemplul 1

muzica.in

164 824

muzica.out

19902912621359223300970873786407766 34

Explicație

11 este tema, 9902912621399029126213\dots este refrenul

Exemplul 2

muzica.in

13 32

muzica.out

406250 1

Explicație

4062540625 este tema, 00 este refrenul

Exemplul 3

muzica.in

6 11

muzica.out

54 2

Explicație

nu există temă, 5454

Log in or sign up to be able to send submissions!