eolymp
bolt
Try our new interface for solving problems
Məsələlər

Suffiks pulemyotu

Suffiks pulemyotu

\textit{_Ya zaçot, ya da avtomat.___________________} \textit{Hannibal Rektor} Possiltum ordusunun yeni əsgərlərinin nəzəri hazırlanmasına yalnız hərbi hüquqlar deyil, həmçinin kriptoqrafiyanın əsasları da daxil idi. Mühazirələri əsgər zarafatına biganə olmayan mayor Meqa Bayt oxuyurdu. Qarşılarına Possiltum ordusunu içəridən dağıtmaq tapşırığı qoyulmuş Qvido və Nunçio terminalogiyaya dolaşıqlıq əlavə edərək bununla oynamaq qərarına gəldilər. Növbəti mühazirədə Nunçio əlini qaldırdı və soruşdu: - \textit{Bax siz keçən mühazirədə sonlu avtomatlar haqqında danışdınız. Bəs sonlu pulemyot haqqında danışacaqsınız?} Meqa Bayt özünü itirmədi. \textit{- Suffiks pulemyotu -- bu verilmiş sətrin (sıfırdan }\textit{\textbf{L}}\textit{-ə qədər, }\textit{\textbf{L}}\textit{ də daxil olmaqla, burada }\textit{\textbf{L}}\textit{ sətrin uzunluğudur) bütün suffikslərini qəbul edən sonlu avtomatdır. Serjant Qvido!} - \textit{Mən, cənab mayur!} - \textit{Siz avtomatı pulemyotdan ayıra bilərsiz?} - \textit{Əlbətdə, cənab mayor!} - \textit{Sizə sonlu avtomat verilib. Onun verilmiş sətrin suffiks pulemyotu olduğunu yoxlamaq tələb olunur.} Təəssüf ki, belə bir proqramın yazılması Sindikatda, həmçinin M.İ.F şirkətində olduğu kimi Qvido və Nunçionun vəzifələrinə daxil deyildir. Buna görə də uyğun proqramı Sizin yazmağınız lazım gələcəkdir. \InputFile Giriş faylında bir neçə test dəsti verilir. Hər bir dəstin birinci sətrində avtomatın vəziyyətlərinin \textbf{N} sayı, \textbf{M} keçidlərinin sayı, həmçinin \textbf{T} vəziyyətlərinin qəbul edilməsi sayı verilir (\textbf{1} ≤ \textbf{T} ≤ \textbf{N} ≤ \textbf{50000}, \textbf{1} ≤ \textbf{M} ≤ \textbf{100000}). İkinci sətirdə avtomatın vəziyyətlərini artan ardıcıllıqla alan \textbf{1}-dən \textbf{N}-qədər hüdudunda boşluqla ayrılmış \textbf{T} sayda müxtəlif ədəd verilir. Növbəti \textbf{M} sətirlərdə keçidlər \textbf{a_i} \textbf{b_i} \textbf{c_i} şəklində verilir, burada \textbf{1} ≤ \textbf{a_i}, \textbf{b_i} ≤\textbf{n}, \textbf{c_i} isə latın əlifbasının kiçik hərfidir. \textbf{a_i} vəziyyətindən \textbf{b_i} vəziyyətinə keçid \textbf{c_i} hərfinə görə aparılır. Hər bir \textbf{a_i} vəziyyətindən \textbf{c_i} simvoluna görə birdən çox olmayan keçid vardır. Dəstin sonuncu sətrinin təsviri -- avtomatın pulemyot olması lazım gələn \textbf{S} sətridir. O yalnız kiçik latın hərflərini ehtiva edir, onun uzunluğu \textbf{1}-dən \textbf{50000}-ə qədər ola bilər. Bundan başqa bütün \textbf{N}-lərin cəmi və yoxlanılması lazım gələn bütün sətirlərin uzunluqları cəmi \textbf{50000}-ni, bütün \textbf{M}-lərin cəmi isə \textbf{100000}-ni aşmır. Fayl \textbf{N=M=T=0} qondarma dəstlə tamamlanır. Avtomatın ilkin vəziyyəti birincidir. Əgər hansısa sətrin şərhi zamanı avtomatda uyğun keçid olmazsa, onda avtomat səhvdən dolayı boşalır və sətri qəbul etmir. Bu şəkildə sətir, əkər onun şərhi zamanı bütün keçidlər tapılmış olarsa. Qəbul edilir və onlar bitdikdən sonra avtomat qəbuledici vəziyyətində olur (bu zaman yolda qəbuledici vəziyyətinin olub olmaması əhəmiyyət kəsb etmir). \OutputFile Nümunədəki formata uyğun verilmiş avtomatın pulemyot olub olmadığını çıxış faylına verin.
Zaman məhdudiyyəti 2 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
2 1 2
1 2
1 2 a
a
2 2 2
1 2
1 1 a
1 2 b
ab
0 0 0
Çıxış verilənləri #1
Automaton 1 is a machinegun.
Automaton 2 is not a machinegun.