Задано рядок . Побудувати детермінований скінченний автомат, який приймає усі суфікси рядка (і можливо інші скінченні рядки). Автомат повинен складатись з мінімального числа станів. Кожен стан автомату оголошується фінальним. Початковий стан має номер .
На зображенні нижче показано автомат з тестового прикладу для рядка "abacaba".

У єдиному рядку слово , яке складається з рядкових латинських літер.
У першому рядку два числа і — кількість станів та кількість переходів. Далі рядків, у кожному з яких по два числа a_i, b_i та літера c_i, які позначають наявність переходу зі стану a_i у b_i по літері c_i. Переходи можна виводити у довільному порядку. Якщо розв'язків декілька, можете вивести довільний з них.
Обмеження
1 \le |S| \le 5000
1 \le a_i, b_i \le N
'a' \le c_i \le 'z'
Приклад 1