Codeforces Round #790 (Div. 4)C. Most Similar Words

        You are given nn words of equal length mm, consisting of lowercase Latin alphabet letters. The ii-th word is denoted sisi.

In one move you can choose any position in any single word and change the letter at that position to the previous or next letter in alphabetical order. For example:

  • you can change 'e' to 'd' or to 'f';
  • 'a' can only be changed to 'b';
  • 'z' can only be changed to 'y'.

        The difference between two words is the minimum number of moves required to make them equal. For example, the difference between "best" and "cost" is 1+10+0+0=111+10+0+0=11.

Find the minimum difference of sisi and sjsj such that (i

Input

        The first line of the input contains a single integer tt (1≤t≤1001≤t≤100) — the number of test cases. The description of test cases follows.

The first line of each test case contains 22 integers nn and mm (2≤n≤502≤n≤50, 1≤m≤81≤m≤8) — the number of strings and their length respectively.

Then follows nn lines, the ii-th of which containing a single string sisi of length mm, consisting of lowercase Latin letters.

Output

         For each test case, print a single integer — the minimum difference over all possible pairs of the given strings.

Example

input

Copy

6
2 4
best
cost
6 3
abb
zba
bef
cdu
ooo
zzz
2 7
aaabbbc
bbaezfe
3 2
ab
ab
ab
2 8
aaaaaaaa
zzzzzzzz
3 1
a
u
y

output

Copy

11
8
35
0
200
4

 

#include 
#include 
#include 
 
using namespace std;
 
const int N=1010;
 
int n,m;
int f[N];
int t;
int g[N];
 
int main()
{
	int t;
	cin>>t;
	string s[N];
	while(t--)
	{
		cin>>n>>m;
		for(int i=0;i>s[i];
		}
		int sum=10000000;
		for(int i=0;i

 

你可能感兴趣的:(codeforces,思维,模拟,c语言,p2p,开发语言)