Module: بور


Problem

6 /10


پرس و جوهای رشته ای

Problem

مجموعه ای از رشته ها وجود دارد که در ابتدا خالی است. سه عملیات مختلف وجود دارد که باید روی این مجموعه از ردیف‌ها انجام شود:
  • 1 s: رشته داده شده را به مجموعه اضافه کنید.
  • 2 k l: دریابید که آیا k رشته (الزاماً متمایز نیست) در مجموعه وجود دارد که پسوند مشترکی به طول l دارند. این پسوند نباید بزرگترین باشد.
  • 3 i: رشته را از مجموعه ای که در عملیات i-ام اضافه شده است (اگر قبلاً حذف نشده است) حذف کنید.
ورودی:
خط اول شامل یک عدد صحیح است - تعداد عملیات q (1 <= q <= 105) باید پردازش شود.
در مرحله بعد، هر خط حاوی توضیحات درخواست است. ابتدا یک عدد 1، 2 یا 3 است که نوع درخواست را نشان می دهد. 
اگر این کوئری از نوع اول باشد، رشته s در زیر آورده شده است که طول کل آن از 10 تجاوز نمی کند5.
اگر این پرس و جو از نوع دوم باشد، دو عدد صحیح k و l داده می شود (1 <= k، l <= 105).
اگر این درخواست از نوع سوم باشد، عدد i داده می شود (1 <= i <= تعداد عملیات فعلی)، که i تعداد عملیات نوع اول است.

خروجی:
برای هر پرس و جو از نوع دوم، در صورت وجود خطوط لازم، کلمه "YES" و "NO" را در یک خط جداگانه چاپ کنید. در غیر این صورت.

مثال:
  <بدن>
ورودی خروجی
9
1 آبا
1 accba
2 2 2
2 2 3
1 aaaa
1 ابابا
2 3 2
3 1
2 3 2
بله
نه
بله
نه