Dictionary Operations

Sie haben ein leeres Dictionary (Wörterbuch) und erhalten n Abfragen. Jede Abfrage gehört zu einem der folgenden zwei Typen:

  • Typ 1: Einen String in das Dictionary einfügen.

  • Typ 2: Prüfen, ob ein bestimmter String im Dictionary vorhanden ist.

Ihre Aufgabe ist es, ein Programm zu implementieren, das diese Abfragen effizient verarbeitet.

Falls bei einer Abfrage vom Typ 2 der String im Dictionary vorhanden ist, geben Sie Yes aus, andernfalls No.

Input

Die Eingabe besteht aus mehreren Zeilen. Die erste Zeile enthält eine ganze Zahl q (1 ≤ q ≤ ), die die Anzahl der Abfragen angibt.

Die folgenden q Zeilen beschreiben die Abfragen. Jede Zeile beginnt mit einer ganzen Zahl type (1 oder 2), die den Abfragetyp kennzeichnet.

  • Ist type = 1, folgt nach einem Leerzeichen ein String s (1 ≤ |s| ≤ 1000). Dieser String wird in das Dictionary eingefügt. Der String besteht nur aus Kleinbuchstaben des englischen Alphabets.

  • Ist type = 2, folgt nach einem Leerzeichen ein String s (1 ≤ |s| ≤ 1000). Dieser String wird im Dictionary überprüft. Der String besteht nur aus Kleinbuchstaben des englischen Alphabets.

Es ist garantiert, dass die Summe der Längen aller Abfrage-Strings nicht überschreitet.

Output

Geben Sie für jede Abfrage von Typ 2 Yes aus, wenn der String im Dictionary vorhanden ist, andernfalls No.

Examples

Eingabe

Ausgabe

5
1 abc
1 xyz
2 cba
1 def
2 xyz

No
Yes

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