Termenii de iscoditură și primeneală sunt minunate cuvinte arhaice pe care le utiliza și Ștefan cel Mare. Azi, olimpicii noștri utilizează în locul lor cuvinte englezești: query și update.
Ștefan Vodă, după bătălia de la Vaslui, și-a aliniat cei oșteni și a dat fiecăruia câte un număr natural nenul , . Având o bună dispoziție după strașnica victorie, voievodul face două tipuri de operații:
- (aceasta este primeneala!): oșteanul de la poziția primește o nouă valoare ( devine egal cu );
- (aceasta este iscoditura!): câte numere din secvența de oșteni au cel mult divizori?
Cerință
Scrieți un program care răspunde corect la toate iscoditurile și veți fi la fel de faimoși ca Ștefan cel Mare!
Date de intrare
Fișierul de intrare ip.in conține pe prima linie numărul natural , pe a doua linie numerele , separate prin câte un spațiu, iar pe a treia linie numărul natural , reprezentând numărul de operații. Pe fiecare dintre următoarele linii se află fie o primeneală, dată prin trei numere de forma , fie o iscoditură, dată prin patru numere .
Date de ieșire
Fișierul de ieșire ip.out conține atâtea linii câte iscodituri sunt. Linia conține răspunsul la a -a iscoditură.
Restricții și precizări
- ;
- , pentru orice ;
- Pentru fiecare primeneală de forma , , ;
- Pentru fiecare iscoditură de forma , , .
| # | Punctaj | Restricții |
|---|---|---|
| 1 | 17 | Pentru toate iscoditurile |
| 2 | 17 | Toate operațiile sunt de tip iscoditură. |
| 3 | 13 | |
| 4 | 53 | Fără restricții suplimentare |
Exemplu
ip.in
6
12 3 5 10 1 16
4
2 0 5 3
1 4 24
2 2 4 7
2 1 4 1
ip.out
3
2
0
Explicație
Prima iscoditură cere să se determine câte numere din întreg șirul au cel mult divizori.
Răspunsul este , aceste numere fiind , și .
După primeneala șirul devine .
Pentru iscoditura , se întreabă câte numere din secvența au cel mult divizori și răspunsul este , aceste numere fiind și .
Pentru iscoditura , se întreabă câte numere din secvența au cel mult un divizor și răspunsul este .