Codeforces Round 410 (Div. 2) |
---|
Закончено |
У Майка есть n строк s1, s2, ..., sn. Каждая строка состоит из маленьких букв латинского алфавита. За один ход он может выбрать строку si, удалить первый символ и вставить его в конец этой строки. Например, если у него имеется строка «coolmike», то за один ход он может преобразовать эту строку в строку равную «oolmikec».
Теперь Майк задается вопросом: какое минимальное количество ходов необходимо сделать, чтобы все строки стали равными.
Первая строка содержит целое число n (1 ≤ n ≤ 50) — количество строк.
После этого следуют n строк, каждая из которых содержит строку. i-я строка соответствует строке si. Длины строк одинаковы. Длина каждой строки положительна и не превосходит 50.
Выведите минимальное количество ходов, которое необходимо сделать, чтобы все строки стали равными, или выведите - 1, если решения не существует.
4
xzzwo
zwoxz
zzwox
xzzwo
5
2
molzv
lzvmo
2
3
kc
kc
kc
0
3
aa
aa
ab
-1
В первом тестовом примере оптимальным образом будет преобразовать все строки в строку «zwoxz».
Название |
---|