#include <bits/stdc++.h>
#define ll long long
using namespace std;
struct DSU{
vector<int>parent,gsize;
int comps;
int mxcmp;
DSU(int maxi){
parent=gsize=vector<int>(maxi+5);
comps=maxi;
mxcmp=1;
for(int i=0;i<=maxi;i++){
parent[i]=i,gsize[i]=1;
}
}
int find_leader(int node){
return parent[node]=(parent[node]==node?node:find_leader(parent[node]));
}
bool samel(int node1,int node2){
return find_leader(node1)==find_leader(node2);
}
void union_set(int node1,int node2){
int u=find_leader(node1),v=find_leader(node2);
if(u==v)return;
if(gsize[u]<gsize[v])swap(u,v);
gsize[u]+=gsize[v],parent[v]=u;
comps--;
mxcmp=max(gsize[u],mxcmp);
}
int largest_comp(){
return mxcmp;
}
};
int main(){
int n,m;
cin>>n>>m;
DSU dsu(n);
for(int i=0;i<m;i++){
int x,y;
cin>>x>>y;
int sz=0,cnt=0;
dsu.union_set(x,y);
cout<<dsu.comps<<" "<<dsu.largest_comp()<<"\n";
}
return 0;
}
ICAgICNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgogICAgI2RlZmluZSBsbCBsb25nIGxvbmcKICAgIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAgICBzdHJ1Y3QgRFNVeyAgIAogICAgdmVjdG9yPGludD5wYXJlbnQsZ3NpemU7CiAgICBpbnQgY29tcHM7CiAgICBpbnQgbXhjbXA7CiAgICBEU1UoaW50IG1heGkpewogICAgICAgIHBhcmVudD1nc2l6ZT12ZWN0b3I8aW50PihtYXhpKzUpOwogICAgICAgIGNvbXBzPW1heGk7CiAgICAgICAgbXhjbXA9MTsKICAgICAgICBmb3IoaW50IGk9MDtpPD1tYXhpO2krKyl7CiAgICAgICAgICAgIHBhcmVudFtpXT1pLGdzaXplW2ldPTE7CiAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpbnQgZmluZF9sZWFkZXIoaW50IG5vZGUpewogICAgICAgICAgICByZXR1cm4gcGFyZW50W25vZGVdPShwYXJlbnRbbm9kZV09PW5vZGU/bm9kZTpmaW5kX2xlYWRlcihwYXJlbnRbbm9kZV0pKTsKICAgICAgICB9CiAgICAgICAgYm9vbCBzYW1lbChpbnQgbm9kZTEsaW50IG5vZGUyKXsKICAgICAgICAgICAgcmV0dXJuIGZpbmRfbGVhZGVyKG5vZGUxKT09ZmluZF9sZWFkZXIobm9kZTIpOwogICAgICAgIH0KICAgICAgICB2b2lkIHVuaW9uX3NldChpbnQgbm9kZTEsaW50IG5vZGUyKXsKICAgICAgICAgICAgaW50IHU9ZmluZF9sZWFkZXIobm9kZTEpLHY9ZmluZF9sZWFkZXIobm9kZTIpOwogICAgICAgICAgICBpZih1PT12KXJldHVybjsKICAgICAgICAgICAgaWYoZ3NpemVbdV08Z3NpemVbdl0pc3dhcCh1LHYpOwogICAgICAgICAgICBnc2l6ZVt1XSs9Z3NpemVbdl0scGFyZW50W3ZdPXU7CiAgICAgICAgICAgIGNvbXBzLS07CiAgICAgICAgICAgIG14Y21wPW1heChnc2l6ZVt1XSxteGNtcCk7CiAgICAgICAgfQogICAgICAgIGludCBsYXJnZXN0X2NvbXAoKXsKICAgICAgICAgICAgcmV0dXJuIG14Y21wOwogICAgICAgIH0KICAgIH07CiAgICBpbnQgbWFpbigpewogICAgICAgIGludCBuLG07CiAgICAgICAgY2luPj5uPj5tOwogICAgICAgIERTVSBkc3Uobik7CiAgICAgICAgZm9yKGludCBpPTA7aTxtO2krKyl7CiAgICAgICAgICAgIGludCB4LHk7CiAgICAgICAgICAgIGNpbj4+eD4+eTsKICAgICAgICAgICAgaW50IHN6PTAsY250PTA7CiAgICAgICAgICAgIGRzdS51bmlvbl9zZXQoeCx5KTsKICAgICAgICAgICAgY291dDw8ZHN1LmNvbXBzPDwiICI8PGRzdS5sYXJnZXN0X2NvbXAoKTw8IlxuIjsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIDA7CiAgICB9