#include<bits/stdc++.h>
using namespace std;
int main()
{
int node, edge;
cin>>node>>edge;
vector<int>graph[node+1];
int u,v;
for(int i = 1; i <= edge; i++)
{
cin>>u>>v;
graph[u].push_back(v);
graph[v].push_back(u);
}
///i = node, graph[i][j] = node, j = column number
for(int i = 1; i <= node; i++)
{
cout<<" Node "<<i<<" -> ";
for(int j = 0; j < graph[i].size(); j++)
{
cout<<graph[i][j]<<" ";
}
cout<<endl;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewogICAgaW50IG5vZGUsIGVkZ2U7CiAgICBjaW4+Pm5vZGU+PmVkZ2U7CiAgICB2ZWN0b3I8aW50PmdyYXBoW25vZGUrMV07CiAgICBpbnQgdSx2OwogICAgZm9yKGludCBpID0gMTsgaSA8PSBlZGdlOyBpKyspCiAgICB7CiAgICAgICBjaW4+PnU+PnY7CiAgICAgICBncmFwaFt1XS5wdXNoX2JhY2sodik7CiAgICAgICBncmFwaFt2XS5wdXNoX2JhY2sodSk7CiAgICB9CgogICAgLy8vaSA9IG5vZGUsIGdyYXBoW2ldW2pdID0gbm9kZSwgaiA9IGNvbHVtbiBudW1iZXIKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbm9kZTsgaSsrKQogICAgewogICAgICAgIGNvdXQ8PCIgTm9kZSAiPDxpPDwiIC0+ICI7CiAgICAgICAgZm9yKGludCBqID0gMDsgaiA8IGdyYXBoW2ldLnNpemUoKTsgaisrKQogICAgICAgIHsKICAgICAgICAgICAgY291dDw8Z3JhcGhbaV1bal08PCIgIjsKICAgICAgICB9CiAgICAgICAgY291dDw8ZW5kbDsKICAgIH0KfQo=