mozaic

Time limit: 1s Memory limit: 64MB Input: Output:

Rapunzel, plictisită de modul în care arată castelul ei, doreşte să facă nişte modificări. Astfel, ea a comandat un nou mozaic pentru a îl pune la intrare. Meşterii palatului, ştiind cât de nehotărâtă este prinţesa, au decis să vină cu cât mai multe modele posibile.

Mozaicul comandat este unul simplu, alcătuit din două benzi suprapuse de lungime NN. Pentru a-l realiza, meşterii dispun de un număr infinit de plăcuţe dreptunghiulare cu lungimi variabile si lăţimi egale cu lăţimea unei benzi. Oricare două plăcuţe de lungimi diferite au şi modele diferite.

Pentru a nu încărca prea mult mozaicul, o bandă o să conţină acelaşi model de plăcuţă. Deoarece materialele sunt scumpe, meşterii doresc să folosească integral fiecare plăcuţă, fără sa depăseaşcă lungimea mozaicului.

În timp ce lucrau la mozaic, prinţul Flynn a venit şi el cu o condiţie: numărul de plăcuţe pe care îl folosesc pentru prima bandă şi numărul de plăcuţe pentru a doua bandă să fie prime între ele.

Speriaţi puţin de această condiţie, meşterii vă cer ajutorul pentru a calcula câte modele o să aducă în faţa prinţesei, la terminarea comenzii.

Cerința 1

Înainte să se apuce de treabă, meşterii doresc să ştie lungimea plăcuţelor ce ar putea fi utilizate în crearea mozaicului.

Cerința 2

Să se determine numărul de modele pe care prinţesa o să le primească de la meşteri.

Date de intrare

Pe prima linie se găseşte un număr TT care poate să fie 11 sau 22, în funcţie de numărul task-ului care urmează a fi realizat. Pe următoarea linie se găseşte un număr NN, care reprezintă lungimea mozaicului.

Date de ieșire

Pentru T=1T = 1 în fişierul de ieşire o să se afişeze, separate printr-un spaţiu, toate lungimile plăcuţelor, în ordine crescătoare.

Pentru T=2T = 2, în fişierul de ieşire o să se afişeze numărul de modele.

Restricții și precizări

  • Plăcuţele au orice lungime număr natural nenul;
  • Există un număr infinit de plăcuţe de aceaşi lungime;
  • 1T21 \leq T \leq 2;
  • qN2 000 000q \leq N \leq 2 \ 000 \ 000;
  • Pentru 2020 de puncte, T=1T = 1;
  • Pentru 3030 de puncte, T=2T = 2 și 1N5001 \leq N \leq 500;
  • Pentru 1010 puncte, T=2T = 2, N>500N \gt 500 și NN este prim;
  • Pentru 4040 de puncte, T=2T = 2.

Exemplul 1

stdin

1
9

stdout

1 3 9

Explicație

O banda de lungime 99 se poate completa cu 99 plăcuţe de lungime 11, 33 plăcuţe de lungime 33 sau o plăcuţă de lungime 99.

Exemplul 2

stdin

2
9

stdout

3

Explicație

cele trei modele pe care prinţesa le poate realiza conţin plăcuţele cu următoarele lungimi:

1 91 \ 9
3 93 \ 9
9 99 \ 9

Se poate observa ca 1 31 \ 3 nu este un model valid, întrucât numărul de plăcuţe necesare pentru a completa prima bandă ar fi 99, iar numarul de plăcuţe necesare pentru a completa a doua bandă ar fi 33, cele două numere nefiind prime între ele.

De asemenea, nu au fost luate in calcul modelele 9 19 \ 1 şi 9 39 \ 3, fiind considerate aceleaşi cu modelele 1 91 \ 9, respectiv 3 93 \ 9.

Exemplul 3

stdin

2
17

stdout

2

Explicație

Cele două modele pe care prinţesa le poate realiza conţin plăcuţele cu următoarele lungimi:

1 171 \ 17
17 1717 \ 17

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