F. Тэмдэгт мөрийн бүрдэл дээрх асуулгууд

хугацааны хязгаарлалт 3 секунд

санах ойн хязгаарлалт 768 мегабайт

оролт стандарт оролт

гаралт стандарт гаралт

Та тэмдэгт мөрүүдийн $D$ бүрдэл дээр $m$ асуулгыг боловсруулах ёстой. Асуулга бүр дараах гурван хэлбэртэй байна:

  1. $D$ бүрдэлрүү $s$ тэмдэгт мөрийг нэмэх. Энд $s$ тэмдэгт мөр нь өмнө нь нэмэгдээгүй байна.
  2. $D$ бүрдлээс $s$ тэмдэгт мөрийг устгах. Энд $s$ тэмдэгт мөр нь $D$ бүрдэлд байна.
  3. Өгөгдсөн $s$ тэмдэгт мөрийн хувьд $D$ бүрдэлд хэдэн удаа тохиолдож байгааг олох. Хэрвээ $D$ бүрдлийн $p$ тэмдэгт мөрд $s$ тэмдэгт мөр хэд хэдэн удаа тохиолдож байвал та тэр бүрийг тоолох ёстой.

Та бодлогыг онлайн горимд шийдэх ёстой. Энэ нь та нэг удаад оролтыг бүхэлд нь уншиж чадахгүй гэсэн үг. Та асуулга бүрийг хамгийн сүүлийн гуравдугаар төрлийн асуулгад хариулсныхаа дараа л унших боломжтой. Та програмынхаа бичилт бүрийн дараа $C++$-н $fflush$ болон $Java$ хэлний $BufferedWriter.flush$ функцийг ашиглана уу.

Оролт

Эхний мөрөнд бүхэл тоо $m$ ($1 ≤ m ≤ 3*10^{5}$) байх буюу асуулгуудын тоо юм.

Дараагийн $m$ мөр бүрт бүхэл тоо $t$ ($1 ≤ t ≤ 3$) болон хоосон биш тэмдэгт мөр $s$ байх буюу асуулгын төрөл болон боловсруулах тэмдэгт мөр байна. Бүх тэмдэгт мөрүүд Англи цагаан толгойн жижиг үсгүүдээс л бүрдэнэ.

Оролтын бүх тэмдэгт мөрүүдийн уртын нийлбэр $3*10^{5}$-с хэтрэхгүй.

Гаралт

Гуравдугаар төрлийн асуулга бүрийн хувьд $s$ тэмдэгт мөрийн тохиолдлуудын тоог илэрхийлэх $c$ бүхэл тоог хэвлэ.

Орчуулсан: Г.Мэндбаяр

Жишээ тэстүүд

Оролт
5
1 abc
3 abcabc
2 abc
1 aba
3 abababc
Гаралт
2
2
Оролт
10
1 abc
1 bcd
1 abcd
3 abcd
2 abcd
3 abcd
2 bcd
3 abcd
2 abc
3 abcd
Гаралт
3
2
1
0
Сэтгэгдлүүдийг ачааллаж байна...