Dornic să apară în probleme după mai mulți ani de așteptare, Micul Gates decide să joace următorul joc cu numere. Se consideră o mulțime de numere care la început este vidă.
Asupra acesteia se pot aplica următoarele tipuri de operații:
1 x
- Se adaugă numărul în mulțime;2 y
- Se scot toate numerele divizibile cu (numărul prim) din mulțime;3
- Se dorește aflarea cardinalului mulțimii.
Cerința
Scrieți un program care determină rezultatele la operațiile de tipul .
Date de intrare
Pe prima linie a fișierului prime.in
se află un număr . Pe următoarele linii se află câte o operație după structura explicată anterior.
Date de ieșire
Fișierul prime.out
conține câte o linie cu valoarea determinată pentru fiecare cerință de tipul , în ordinea în care acestea apar în fișierul de intrare.
Restricții și precizări
- Numărul de operații , și există cel puțin o operație de tipul ;
- ;
- ;
- Pentru puncte, ;
- Toate numerele adaugate în mulțime prin operația de tipul sunt diferite între ele.
Exemplu
prime.in
6
1 10
1 3
1 5
3
2 5
3
prime.out
3
1
Explicație
Inițial mulțimea este vidă. Primele operații de tipul adaugă pe rând , , și .
Următoare linie reprezintă o cerință de tipul , la care răspunsul este , reprezentând cardinalul mulțimii .
Operația de pe linia următoare face să se scoată din mulțime numerele divizibile cu , adică , deci la următoare operație de tip , mulțimea un element.