Բառարանի Բարդ Գործողություններ

Ձեզ տրված է դատարկ բառարան և q հարցում։ Յուրաքանչյուր հարցում կարող է ունենալ երեք տիպերից մեկը․
  • Տիպ 1: Տողի ավելացում բառարանում։
  • Տիպ 2: Պարզել, արդյոք տողը կա բառարանում։
  • Տիպ 3: Ջնջել տողը բառարանից։
Ձեր խնդիրն է կազմել ծրագիր, որը կաշխատի այս հարցումների հետ möglichst արդյունավետ։
Տիպ 2 հարցման դեպքում, եթե բառարանում կա պահանջվող տողը, արտածեք Yes, հակառակ դեպքում՝ No։

Մուտք

Մուտքի առաջին տողում տրված է q ամբողջ թիվը (1 ≤ q ≤ 100 000), որը ցույց է տալիս հարցումների քանակը:
Հաջորդ q տողերը նկարագրում են հարցումները։ Յուրաքանչյուր տող սկսվում է type ամբողջ թվով (1, 2 կամ 3), որը նշանակում է հարցման տիպը։
  • Եթե type = 1, ապա նույն տողում, բացատից հետո, գրվում է _s_ տողը (1 ≤ |s| ≤ 1000), որը պետք է ավելացվի բառարանում։ _s_-ը բաղկացած է միայն латинերենի փոքրատառերի նիշերից:
  • Եթե type = 2, ապա նույն տողում, բացատից հետո, գրվում է _s_ տողը (1 ≤ |s| ≤ 1000), որը պետք է ստուգվի բառարանում։ _s_-ը բաղկացած է միայն латիներենի փոքրատառերի նիշերից:
  • Եթե type = 3, ապա նույն տողում, բացատից հետո, գրվում է _s_ տողը (1 ≤ |s| ≤ 100), որը պետք է ջնջվի բառարանից։ _s_-ը բաղկացած է միայն латիներենի փոքրատառերի նիշերից:
Հավաստիացվում է, որ բոլոր հարցումների տողերի երկարությունների գումարը չի գերազանցում -ը:

Ելք

Յուրաքանչյուր տիպ 2 հարցման համար, եթե բառարանում կա համապատասխան տողը, արտածեք Yes, հակառակ դեպքում՝ No:

Օրինակներ

Մուտք
Ելք
7 1 abc 1 xyz 2 abc 3 abc 2 abc 2 xyz 2 abo
Yes No Yes No
 

Constraints

Time limit: 4 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue