Bunicuţa Miruna are nepoţei care sunt aşezaţi în linie şi sunt numerotaţi de la stânga spre dreapta, în ordine, cu numere naturale distincte de la la . Deoarece se apropie Ziua Copilului, Miruna le-a cumpărat nepoţeilor mai multe ouă Kinder. Aceste ouă Kinder nu sunt toate la fel, ci sunt de tipuri (numerotate de la la ) şi două culori ( - roşu şi - albastru). Tipul oului precizează cât de gustos este oul (dacă tipul , atunci un ou de tipul va fi mai gustos decât un ou de tipul ).
Miruna va efectua operaţii de următoarele tipuri:
Tip | Nume | Format | Efect |
---|---|---|---|
1 | Update | Copilul primeşte nr ouă de tip şi culoare | |
2 | Update | Copilul ia fiecare ou de tipul care este al său şi îl vopseşte în culoarea opusă (din în sau din în ) | |
3 | Query | Miruna se uită la ouăle de culoare care aparţin copiilor din intervalul şi vrea să afle tipul celui de-al -lea cel mai gustos ou. |
Cerinţă
Scrieţi un program care să efectueze în mod eficient toate operaţiile descrise.
Date de intrare
Fişierul de intrare kinder.in
va conţine pe prima linie numere naturale , reprezentând numărul de nepoţei, numărul de tipuri de ouă, respectiv numărul de operaţii ce vor fi efectuate. Pe fiecare dintre următoarele linii va fi descrisă câte o operaţie. Linia care descrie o operaţie începe cu un număr (, sau ) care indică tipul operaţiei, urmat de , , respectiv numere naturale conform formatului operaţiei. Valorile scrise pe aceeaşi linie sunt separate prin spaţiu.
Date de ieșire
Fişierul de ieşire kinder.out
va conţine câte o linie pentru fiecare operaţie de tip efectuată. Pe linia se află răspunsul pentru cea de a -a operaţie de tip din fişierul de intrare.
Restricții și precizări
- Pentru operaţii de tipul :
- Pentru operatii de tipul :
- Se garantează că nepotul are cel puţin un ou de tip
- Pentru operaţii de tipul :
- Numărul total de ouă de culoare pe care le deţin nepoţii din intervalul
- Se garantează că nepoţii din intervalul deţin cel puţin un ou de culoare .
Exemplu
kinder.in
5 100 3
1 2 68 0 100
2 2 68
3 1 5 1 99
kinder.out
68
Explicație
Miruna are nepoţi, ouă de de tipuri şi efectuează operaţii.
La prima operaţie nepotul primeşte de ouă de tip şi culoare
La a doua operaţie nepotul vopseşte cele de ouă de tipul pe care le are în culoarea
La a treia operatie Miruna vede că al -lea cel mai gustos ou de culoare pentru nepoţii din intervalul are tipul