Unikal suffikslər (online versiya)
Sizə əvvəlcə boş bir s sətiri verilir. Daha sonra q sayda sorğu gəlir. Sorğular iki növdə olur:
Sətirin sonuna simvol əlavə etmək sorğusu. Sorğunun formatı "+ c" şəklindədir, burada c sətirin sonuna əlavə olunacaq simvoldur.
Sətirin sonundakı suffiksin unikallığını yoxlamaq sorğusu. Sorğunun formatı "? l" şəklindədir, burada l cari sətirin s suffiksinin uzunluğudur və onun unikallığı yoxlanmalıdır. Suffiks unikal sayılır, əgər o, sətirdə yalnız bir dəfə alt sətir kimi rast gəlinirsə (sətirin simvolları bir-indeksli sayıldıqda, |s|-l+1 mövqeyindən başlayaraq).
Sizin vəzifəniz hər ikinci növ sorğudan sonra, əgər verilmiş suffiks unikal olarsa, "+" çıxarmaq, əks halda "-" çıxarmaqdır.
Giriş verilənləri
Birinci sətirdə tək tam ədəd q (1 ≤ q ≤ 2·10^6) — sorğuların sayı verilir.
Növbəti q sətirdə şərtlərdə təsvir edilən formatda sorğular verilir. Bütün sorğuların düzgün olduğu təmin edilir. İlk sorğunun birinci növ olduğu təmin edilir. Hər bir birinci növ sorğuda c simvolunun "a", "b", "c", "d", "e" simvollarından biri olduğu təmin edilir. Bütün ikinci növ sorğularda l ədədinin müsbət və cari sətirin s uzunluğundan böyük olmadığı təmin edilir.
Məsələni bir az çətinləşdirmək üçün, məsələdə online tipli məsələyə çevirmək üçün süni bir metod istifadə olunur. Metod belədir: hər dəfə simvol əlavə etmək sorğusu gəldikdə, əgər əvvəlki suffiksin unikallığını yoxlama sorğusunun cavabı müsbət olmuşdursa (yəni suffiks unikal olmuşdursa), onda cari əlavə edilən simvol bir addım irəli dövrü olaraq dəyişdirilir. Başqa sözlə, əvvəlki sorğudan unikal suffiks olduğu halda "a" simvolu əvəzinə "b" simvolu əlavə olunmalıdır; "b" əvəzinə "c"; "c" əvəzinə "d"; "d" əvəzinə "e"; "e" əvəzinə "a". İlk sorğu dəyişdirilmir, həmçinin əvvəlki sorğudan unikal olmayan suffiks olduğu halda əlavə etmək sorğusu dəyişdirilmir.
Çıxış verilənləri
İkinci növ sorğulara cavabları çıxarın. Sorğuların cavablarını giriş məlumatlarında sorğuların meydana çıxma sırasına uyğun olaraq çıxarın.