Ya zaçot, ya da avtomat.___________________
Hannibal Rektor
Possiltum ordusunun nəzəri hazırlığına yalnız hərbi hüquq deyil, həmçinin kriptoqrafiyanın əsasları da daxil idi. Bu mühazirələri mayor Meqa Bayt oxuyurdu və o, əsgər zarafatından çəkinmirdi. Qvido və Nunçio, üzərinə Possiltum ordusunu içəridən dağıtmaq tapşırığı verilmişdi, terminologiyada çaşqınlıq yaradaraq bundan istifadə etməyə qərar verdilər. Növbəti mühazirənin əvvəlində Nunçio əlini qaldırdı və soruşdu:
- Keçən mühazirədə sonlu avtomatlar haqqında danışdınız. Bəs sonlu pulemyotlar barədə danışacaqsınız?
Meqa Bayt özünü itirmədi.
- Suffiks pulemyotu — bu verilmiş sətrin bütün suffikslərini (sıfırdan -ə qədər, burada sətrin uzunluğudur) və yalnız onları qəbul edən sonlu avtomatdır. Serjant Qvido!
- Mən, cənab mayor!
- Siz avtomatı pulemyotdan ayıra bilərsinizmi?
- Əlbəttə, cənab mayor!
- Sizə sonlu avtomat verilib. Onun verilmiş sətrin suffiks pulemyotu olub olmadığını yoxlamaq tələb olunur.
Təəssüf ki, belə bir proqram yazmaq Qvido və Nunçionun vəzifələrinə daxil deyildi, həmçinin Sindikatta və M.İ.F şirkətində də belə deyildi. Ona görə də uyğun proqramı yazmaq Sizin öhdənizə düşür.
Giriş faylında bir və ya bir neçə test dəsti verilir. Hər bir dəstin birinci sətrində avtomatın vəziyyət sayısı , keçid sayı və qəbul edən vəziyyət sayı (1 \leq T \leq N \leq 50000, 1 \leq M \leq 100000) verilir. İkinci sətirdə ardıcıl artan qaydada qəbul edən müxtəlif vəziyyətin nömrələri (-dən -ə qədər) boşluqla ayrılmış şəkildə göstərilir. Sonrakı sətirdə keçidlər a_i\ b_i\ c_i formasında verilir, burada 1 \leq a_i, b_i \leq N, c_i isə latın əlifbasının kiçik hərfidir. a_i vəziyyətindən b_i vəziyyətinə c_i hərfinə görə keçid aparılır. Hər a_i vəziyyəti üçün c_i simvoluna görə bir keçid ola bilər. Dəstin sonuncu sətri — avtomatın pulemyot olmalı olduğu sətridir. O yalnız kiçik latın hərflərindən ibarətdir və uzunluğu -dən -ə qədər ola bilər. Bundan əlavə, bütün -lərin cəmi və yoxlanacaq sətrlərin uzunluqlarının cəmi -dən, bütün -lərin isə -dən çox olmur.
Fayl N = M = T = 0 olan qondarma dəstlə tamamlanır.
Avtomatın ilkin vəziyyəti birincidir. Əgər sətrin şərhi zamanı avtomatda uyğun keçid yoxdursa, avtomat işini dayandırır və sətri qəbul etmir. Sətir yalnız bütün keçidlər tapıldıqdan və onların sonunda avtomat qəbul edən vəziyyətdə olarsa qəbul olunur (yolda hansısa qəbul edən vəziyyətə düşülməsi əhəmiyyət daşımır).
Çıxış faylında nümunədə göstərilən formata uyğun olaraq, avtomatın pulemyot olub olmadığını göstərin.
Nümunə 1