Mike and strings

题意翻译

## 题目描述: Mike有n个字符串s1,s2,……,sn,每个字符串均由小写字母构成。 每次移动你可以选择一个字符串si, 第1个字符移动最后,比如字符串 "coolmikecoolmike", 移动1次变成字符串 "oolmikecoolmikec"。 请计算至少需要移动多少次,可以使得n个字符串都变成相同。 ## 输入格式: 第一行,一个整数n(1≤n≤50)。 接下来n行,每行一个字符串,每个字符串的长度相当,且长度不超过50。 ## 输出格式: 输出最小移动次数,无解则输出-1.

题目描述

Mike has $ n $ strings $ s_{1},s_{2},...,s_{n} $ each consisting of lowercase English letters. In one move he can choose a string $ s_{i} $ , erase the first character and append it to the end of the string. For example, if he has the string "coolmike", in one move he can transform it into the string "oolmikec". Now Mike asks himself: what is minimal number of moves that he needs to do in order to make all the strings equal?

输入输出格式

输入格式


The first line contains integer $ n $ ( $ 1<=n<=50 $ ) — the number of strings. This is followed by $ n $ lines which contain a string each. The $ i $ -th line corresponding to string $ s_{i} $ . Lengths of strings are equal. Lengths of each string is positive and don't exceed $ 50 $ .

输出格式


Print the minimal number of moves Mike needs in order to make all the strings equal or print $ -1 $ if there is no solution.

输入输出样例

输入样例 #1

4
xzzwo
zwoxz
zzwox
xzzwo

输出样例 #1

5

输入样例 #2

2
molzv
lzvmo

输出样例 #2

2

输入样例 #3

3
kc
kc
kc

输出样例 #3

0

输入样例 #4

3
aa
aa
ab

输出样例 #4

-1

说明

In the first sample testcase the optimal scenario is to perform operations in such a way as to transform all strings into "zwoxz".