Module: Bor


Problem

6 /10


Requêtes de chaîne

Problem

Il existe un ensemble de chaînes qui est initialement vide. Trois opérations différentes doivent être gérées sur cet ensemble de lignes :
  • 1 s : ajoutez la chaîne donnée à l'ensemble.
  • 2 k l : découvrez s'il y a k chaînes (pas nécessairement distinctes) dans l'ensemble qui ont un suffixe commun de longueur l. Ce suffixe ne doit pas nécessairement être le plus grand.
  • 3 i : supprime la chaîne de l'ensemble qui a été ajoutée lors de la ième opération (si elle n'a pas déjà été supprimée).
Saisie :
La première ligne contient un seul entier - le nombre d'opérations q (1 <= q <= 105) à traiter.
Ensuite, chaque ligne contient une description de la requête. C'est d'abord un chiffre 1, 2 ou 3, indiquant le type de demande. 
S'il s'agit d'une requête du premier type, alors la chaîne s est donnée ci-dessous, dont la longueur totale ne dépasse pas 105.
S'il s'agit d'une requête du second type, alors deux entiers k et l sont donnés (1 <= k, l <= 105).
S'il s'agit d'une requête du troisième type, alors le numéro i est donné (1 <= i <= le numéro de l'opération en cours), où i est le numéro de l'opération du premier type.

Sortie :
Pour chaque requête du deuxième type, écrivez le mot "OUI" sur une ligne distincte, si les lignes nécessaires existent, et "NON" sinon.

Exemple :
 
Entrée Sortie
9
1 aba
1 accba
2 2 2
2 2 3
1 aaaa
1 ababa
2 3 2
3 1
2 3 2
OUI
NON
OUI
NON