#include<bits/stdc++.h>
using namespace std;

const int N=1e5+10;

int n,m,cnt,head[N];

struct Edge{
	int u,v,next;
}edge[2*N];

void add(int u,int v){
	edge[++cnt].next=head[u];
	edge[cnt].u=u;
	edge[cnt].v=v;
	head[u]=cnt;
	return;
}


void solve(){
	
	for(int i=1;i<=n;i++){
		bool f=false;
		vector<int> res_to_sort;
		for(int j=head[i];j!=0;j=edge[j].next){
			f=true;
			res_to_sort.push_back(edge[j].v);
		}
		sort(res_to_sort.begin(),res_to_sort.end());
		for(int i=0;i<res_to_sort.size();i++){
			cout<<res_to_sort[i]<<" ";
		}
		if(f==false) cout<<"None"<<endl;	
		else cout<<endl;
	}
	
}

int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	
	cin>>n>>m;
	int u,v;
	for(int i=1;i<=m;i++){
		cin>>u>>v;
		add(u,v);
		add(v,u);
	}
	solve();
    return 0;
}