#include<bits/stdc++.h>
using namespace std;
int n,m;
int parent[1000005];
void init(int n){
for(int i=1; i<=n; i++){
parent[i]=i;
}
}
int find(int x){
if(parent[x]==x){
return x;
}else {
parent[x]=find(parent[x]);
return parent[x];
}
}
int main(){
bool b[1000005];
memset(b,false,sizeof(b));
int s[1000005];
memset(s,0,sizeof(s));
int xx,yy;
cin>>n>>m;
init(n);
for(int i=1; i<=m; i++){
cin>>xx>>yy;
int faa=find(xx);
int fbb=find(yy);
if(faa!=fbb)
parent[faa]=fbb;
}
for(int i=1; i<=n; i++){
s[find(i)]++;
}
sort(s+1,s+n+1);
cout<<s[n]<<endl;
return 0;
}