#Žurnalas
Parašykite žurnalą, su kuriuo būtų galima atlikti tokius veiksmus:
įterpti <pozicija> <skaičius> <tipas> – įterpia <skaičius> tipo <tipas> įrašų prieš įrašą, esantį pozicijoje <pozicija>. Įrašų, kurių pozicijos nemažesnės už <pozicija>, pozicijos padidėja per <skaičius>.
pašalinti <pozicija> <skaičius> – pašalina <skaičius> įrašų, pradedant nuo įrašo pozicijoje <pozicija>. Įrašų, kurių pozicijos nemažesnės už <pozicija> + <skaičius>, pozicijos sumažėja per <skaičius>.
užklausa <pozicija1> <pozicija2> – suskaičiuoja, kiek yra skirtingų tipų įrašų pozicijose nuo <pozicija1> iki <pozicija2> imtinai.
##Pradiniai duomenys
Pirmoje eilutėje yra sveikasis skaičius N(1 ≤ N ≤ 30000) – operacijų kiekis. Tolesnėse N eilučių yra operacijų aprašai.
Kiekvienos operacijos aprašas prasideda simboliu, nurodančiu operacijos tipą:
+ – įterpti;
- – pašalinti;
? – užklausa.
Toliau pateikiami užklausos argumentai – tipas yra mažoji lotyniškos abėcėlės raidė, o kiti argumentai – sveikieji skaičiai. Pozicijos pradedamos skaičiuoti nuo 1 ir visada pateikiamos korektiškai (visose užklausos nurodytose pozicijose visada yra įrašai; niekada neliepiama ištrinti įrašų esančių už žurnalo ribų ir t. t.). Argumentas <skaičius> įterpimo ir pašalinimo operacijose niekada neviršija 10000.
##Rezultatai
Kiekvienai užklausos operacijai išveskite eilutę su vienu sveikuoju skaičiumi – kiek yra skirtingų tipų įrašų tarp <pozicija1> ir <pozicija2> imtinai.
8
+ 1 4 w
+ 3 3 o
? 2 3
- 2 2
? 2 3
+ 2 2 t
? 1 6
- 1 6
2
1
3