Задачі
Марковський цикл
Марковський цикл
Обмежений алгоритм Маркова складається з послідовності речень
\textbf{s_1s_2...s_N} → \textbf{d_1d_2..d_N},
де \textbf{s_i} і \textbf{d_i} - символи з алфавіту \textbf{A}, \textbf{B}, \textbf{C}. Підрядок \textbf{s_1s_2...s_N} називається лівою, а \textbf{d_1d_2..d_N} - правою частиною речення.
Алгоритм виконується над заданим текстовим рядком, що складається з прописних латинських букв \textbf{A}, \textbf{B}, \textbf{C}, наступним чином: перебираються всі речення, починаючи з першого. Якщо ліва частина речення входить у текстовий рядок, то саме ліве входження замінюється правою частиною цього речення, і пошук знову починається з першого речення. Якщо жодне з речень не може бути застосовано, алгоритм зупиняється.
При виконанні алгоритму можливі два результати: або зупинка, або нескінченний цикл з певним періодом. За заданим рядком і набором речень алгоритму Маркова визначити кількість "ациклічних" (виконаних до початку циклу) кроків і довжину самого циклу. Якщо алгоритм зупиняється, то довжина циклу вважається нульовою, а всі виконані кроки - ациклічними.
\InputFile
У першому рядку знаходиться заданий рядок, а у наступних рядках - речення, по одному у рядку. Рядки можуть містити довільну кількість незначущих пропусків.
Довжина заданого текстового рядка і лівих частин речень - від \textbf{1} до \textbf{12} букв, кількість речень - від \textbf{1} до \textbf{50}.
\OutputFile
Вивести два цілих числа, відокремлених пропуском, - кількість ациклічних кроків і довжину циклу.
Вхідні дані #1
ABABC C ->A AB ->BA BAA ->ABC
Вихідні дані #1
3 3