// 遍历每一列,每一列的字符组成一个字符串,相同的字符串可以在变换的情况下是的全为 1 // 不同的字符串不可能通过变换使得全为 1 ( 能发现这一点就好了 ) #include<bits/stdc++.h> using namespace std; const int N=3e3+6; unordered_map<string,int> unmp; int n,m; string str[N]; int main(){ cin>>n>>m; for(int i=0;i<n;i++){ cin>>str[i]; } for(int i=0;i<m;i++){ string s=""; for(int j=0;j<n;j++){ s+=str[j][i]; } unmp[s]++; } int ans=0; for(auto &[k,v]:unmp){ ans=max(ans,v); } cout<<ans; return 0; }