Интернет-банкинг

아직 제출이 없습니다시간 제한2초메모리 제한1024 MB

문제

Интернет-банкинг --- это современная технология, которая позволяет клиентам банка получать доступ к информации о своих счетах с помощью сети Интернет из практически любой точки земного шара. Разумеется, при использовании интернет-банкинга большую роль играют вопросы безопасности. Поэтому для доступа к системе Интернет-банкинга пользователю необходимо ввести пароль. 

Система Интернет-банкинга Bank 2.0, используемая одним Очень Крупным Банком, использует следующий способ ввода пароля. Серверной частью системы случайно генерируются nn строк s_1,,s_ns\_1, \ldots, s\_n, каждая из которых состоит из mm строчных букв латинского алфавита (предполагается, что пароли состоят только из таких букв). 

При вводе пароля пользователю разрешается выполнять такую операцию: выбрать из данных строк две (обозначим их как s_is\_i и s_js\_j, 1i,jn1 \le i, j \le n, iji \ne j) и некоторую позицию kk (1km1 \le k \le m) в них, после чего поменять местами kk-е символы в s_is\_i и s_js\_j. Например, если s_i=s\_i=<<abcde>>, s_j=s\_j=<<vwxyz>>, k=3k=3, то после выполнения этой операции будут верны следующие равенства: s_i=s\_i=<<abxde>> и s_j=s\_j=<<vwcyz>>. Для ввода пароля пользователю необходимо за минимальное число таких операций добиться состояния, в котором хотя бы одна из строк s_1,,s_ns\_1, \ldots, s\_n совпадает с pp.

Ваша задача состоит в том, чтобы написать программу, которая по заданному набору строк s_1,,s_ns\_1, \ldots, s\_n и паролю пользователя pp определит минимальное число операций указанного типа, которые необходимо выполнить для ввода пароля, а также найдет способ ввода пароля за такое число операций.

입력

Первая строка входного файла содержит целое число nn (2n1002 \le n \le 100). Каждая из последующих nn строк содержит строки s_1,,s_ns\_1, \ldots, s\_n. Все они состоят только из строчных букв латинского алфавита и имеют одинаковую длину mm (2m1002 \le m \le 100).

Последняя строка входного файла содержит пароль пользователя pp. Его длина равна mm, и он состоит только из строчных букв латинского алфавита.

출력

Первая строка выходного файла должна содержать минимальное число cc операций, необходимых для ввода пароля. Если с помощью описанных в условии операций пароль ввести нельзя, то выведите в первой строке <<1-1>>.

В случае существования решения следующие cc строк должны содержать описания операций. Операции должны быть перечислены в порядке их применения, каждая из строк должна содержать три целых числа: ii, jj и kk (1i,jn1 \le i, j \le n, iji \ne j, 1km1 \le k \le m). Эти числа означают, что соответствующая операция состоит в обмене kk-ых символов строк s_is\_i и s_js\_j.