http://icpc.upc.edu.cn/problem.php?cid=1592&pid=0
#include<bits/stdc++.h>
using namespace std;
map<string,int>m1;
int n,m,i,ans,l,j,k2,f[110],a[110][110],k,k1;
string s,s1;
int main(){
scanf("%d%d",&n,&m);
for (i=1;i<=m;i++){
cin>>s>>s1;
if (m1[s]==0) {
k++;
m1[s]=k;
}
if (m1[s1]==0) {
k++;
m1[s1]=k;
}
k2=m1[s];
k1=m1[s1];
if (a[k2][k1]==0)
{
f[k2]++;
f[k1]++;
ans=max(ans,max(f[k2],f[k1]));
a[k2][k1]=a[k1][k2]=1;
}
}
printf("%d\n",ans);
}