//AC
/* codeforces1617C
网址:https://codeforces.com/contest/1676/problem/C
思路:计算出每个字符串与其它字符串之间的差
进行排序找出最小的插值输出插值(多测)
*/
#include<bits/stdc++.h>
using namespace std;
const int INF=1000000;
int main()
{
int t;
cin>>t;
for(int i=0;i<t;i++)
{
int n,m;
cin>>n>>m;
vector<string>s(n);
for(int j=0;j<n;j++)
{
cin>>s[j];
}
int ans=INF;
for(int j=0;j<n;j++)
{
for(int k=j+1;k<n;k++)
{
int sum=0;
for(int l=0;l<m;l++)
{
sum+=abs(s[j][l]-s[k][l]);
}
ans=min(ans,sum);
}
}
cout<<ans<<endl;
}
return 0;
}
//AC
/* abc251B
网址:https://atcoder.jp/contests/abc251/tasks_print
思路:利用set集合的排重特性排除出“抄袭 ”的案例
排序后输出最高的名次
*/
#include<bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin>>n;
set<string>used;
int mx=0;
int id=-1;
for(int i=0;i<n;i++)
{
string a;
int b;
cin>>a>>b;
if(used.find(a)!=used.end())
{
continue;
}
used.insert(a);
if(b>mx)
{
mx=b;
id=i+1;
}
}
cout<<id<<'\n';
return 0;
}
//AC
/* abc238B
网址:https://atcoder.jp/contests/abc238/tasks_print
思路:把披萨的旋转当作刀的旋转
特别考虑360度的情况
*/
#include<bits/stdc++.h>
using namespace std;
int cut[366];
int main()
{
int n;
cin>>n;
cut[0]=1;
int knife=0;
for(int i=0;i<n;i++)
{
int a;
cin>>a;
knife+=a;
knife%=360;
cut[knife]=1;
}
int res=0,cur=0;
for(int i=0;i<=360;i++)
{
if(cut[i%360]==1)
{
res=max(res,cur);
cur=0;
}
cur++;
}
cout<<res<<"\n";
return 0;
}