#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define int long long
const int MOD = pow(10,9)+7;
const int MOD2 = 998244353;
const int INF = LLONG_MAX/2;
int primes[1000000];
void seive(){
fill(primes, primes + 1000000, 1);
primes[0] = primes[1] = 0;
for(int i = 2 ; i*i < 1000000 ; i++){
if(primes[i]){
for(int j = i*i ; j < 1000000 ; j += i){
primes[j] = 0;
}
}
}
}
int factorial(int n){
if(n==0){
return 1;
}
return (n*(factorial(n-1)))%MOD;
}
bool isPrime(int n){
if(n <= 1) return false;
for(int i = 2 ; i*i <= n ; i++){
if(n % i == 0) return false;
}
return true;
}
int power(int a, int b){
if(b == 0) return 1;
a %= MOD;
int value = power(a, b / 2);
if(b % 2 == 0){
return (value * value) % MOD;
} else {
return ((value * value) % MOD * (a % MOD)) % MOD;
}
}
int gcd(int a, int b){
if(a == 0) return b;
return gcd(b % a, a);
}
void dfs(int node , vector<int>A[] , int visited[] , int sum[] , int parent[] , int values[]){
visited[node] = 1;
for(auto node1 : A[node]){
if(!visited[node1]){
parent[node1] = node;
dfs(node1,A,visited,sum,parent,values);
}
}
int s = 0;
for(auto node1 : A[node]){
if(parent[node]!=node1){
s = max(s,sum[node1]);
}
}
sum[node] = values[node]+s;
}
int spf[1000001];
void SPF(){
for(int i = 2 ; i<=1000000 ; i++){
spf[i] = i;
}
for(int i = 2 ; i<=sqrt(1000000) ; i++){
if(spf[i]==i){
for(int j = i*i ; j<=1000000 ; j+=i){
if(spf[j]==j){
spf[j] = i;
}
}
}
}
}
void solve() {
int numNodes, numEdges;
cin >> numNodes >> numEdges;
// Adjacency list to store the graph
vector<vector<int>> adjacencyList(numNodes + 1);
// Reading edges
for (int i = 0; i < numEdges; ++i) {
int nodeU, nodeV;
cin >> nodeU >> nodeV;
// Since the graph is undirected
adjacencyList[nodeU].push_back(nodeV);
adjacencyList[nodeV].push_back(nodeU);
}
// Printing the adjacency list
for (int node = 1; node <= numNodes; ++node) {
cout << "Node " << node << ": ";
for (int neighbor : adjacencyList[node]) {
cout << neighbor << " ";
}
cout << endl;
}
}
signed main(){
ios::sync_with_stdio(false); cin.tie(NULL);
SPF();
//int t;
//cin >> t;
//while(t--){
solve();
//}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBlbmRsICdcbicKI2RlZmluZSBpbnQgbG9uZyBsb25nCmNvbnN0IGludCBNT0QgPSBwb3coMTAsOSkrNzsKY29uc3QgaW50IE1PRDIgPSA5OTgyNDQzNTM7CmNvbnN0IGludCBJTkYgPSBMTE9OR19NQVgvMjsKIAppbnQgcHJpbWVzWzEwMDAwMDBdOwogCnZvaWQgc2VpdmUoKXsKICAgIGZpbGwocHJpbWVzLCBwcmltZXMgKyAxMDAwMDAwLCAxKTsKICAgIHByaW1lc1swXSA9IHByaW1lc1sxXSA9IDA7CiAgICBmb3IoaW50IGkgPSAyIDsgaSppIDwgMTAwMDAwMCA7IGkrKyl7CiAgICAgICAgaWYocHJpbWVzW2ldKXsKICAgICAgICAgICAgZm9yKGludCBqID0gaSppIDsgaiA8IDEwMDAwMDAgOyBqICs9IGkpewogICAgICAgICAgICAgICAgcHJpbWVzW2pdID0gMDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQppbnQgZmFjdG9yaWFsKGludCBuKXsKICAgIGlmKG49PTApewogICAgICAgIHJldHVybiAxOwogICAgfQogICAgcmV0dXJuIChuKihmYWN0b3JpYWwobi0xKSkpJU1PRDsKfQpib29sIGlzUHJpbWUoaW50IG4pewogICAgaWYobiA8PSAxKSByZXR1cm4gZmFsc2U7CiAgICBmb3IoaW50IGkgPSAyIDsgaSppIDw9IG4gOyBpKyspewogICAgICAgIGlmKG4gJSBpID09IDApIHJldHVybiBmYWxzZTsKICAgIH0KICAgIHJldHVybiB0cnVlOwp9CiAKaW50IHBvd2VyKGludCBhLCBpbnQgYil7CiAgICBpZihiID09IDApIHJldHVybiAxOwogICAgYSAlPSBNT0Q7CiAgICBpbnQgdmFsdWUgPSBwb3dlcihhLCBiIC8gMik7CiAgICBpZihiICUgMiA9PSAwKXsKICAgICAgICByZXR1cm4gKHZhbHVlICogdmFsdWUpICUgTU9EOwogICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gKCh2YWx1ZSAqIHZhbHVlKSAlIE1PRCAqIChhICUgTU9EKSkgJSBNT0Q7CiAgICB9Cn0KIAppbnQgZ2NkKGludCBhLCBpbnQgYil7CiAgICBpZihhID09IDApIHJldHVybiBiOwogICAgcmV0dXJuIGdjZChiICUgYSwgYSk7Cn0Kdm9pZCBkZnMoaW50IG5vZGUgLCB2ZWN0b3I8aW50PkFbXSAsIGludCB2aXNpdGVkW10gLCBpbnQgc3VtW10gLCBpbnQgcGFyZW50W10gLCBpbnQgdmFsdWVzW10pewogICAgdmlzaXRlZFtub2RlXSA9IDE7CiAgICBmb3IoYXV0byBub2RlMSA6IEFbbm9kZV0pewogICAgICAgIGlmKCF2aXNpdGVkW25vZGUxXSl7CiAgICAgICAgICAgIHBhcmVudFtub2RlMV0gPSBub2RlOwogICAgICAgICAgICBkZnMobm9kZTEsQSx2aXNpdGVkLHN1bSxwYXJlbnQsdmFsdWVzKTsKICAgICAgICB9CiAgICB9CiAgICBpbnQgcyA9IDA7CiAgICBmb3IoYXV0byBub2RlMSA6IEFbbm9kZV0pewogICAgICAgIGlmKHBhcmVudFtub2RlXSE9bm9kZTEpewogICAgICAgICAgICBzID0gbWF4KHMsc3VtW25vZGUxXSk7CiAgICAgICAgfQogICAgfQogICAgc3VtW25vZGVdID0gdmFsdWVzW25vZGVdK3M7Cn0KaW50IHNwZlsxMDAwMDAxXTsKdm9pZCBTUEYoKXsKICAgZm9yKGludCBpID0gMiA7IGk8PTEwMDAwMDAgOyBpKyspewogICAgICAgc3BmW2ldID0gaTsKICAgfQogICBmb3IoaW50IGkgPSAyIDsgaTw9c3FydCgxMDAwMDAwKSA7IGkrKyl7CiAgICAgICAgaWYoc3BmW2ldPT1pKXsKICAgICAgICAgICAgZm9yKGludCBqID0gaSppIDsgajw9MTAwMDAwMCA7IGorPWkpewogICAgICAgICAgICAgICAgaWYoc3BmW2pdPT1qKXsKICAgICAgICAgICAgICAgIHNwZltqXSA9IGk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgIH0KfQp2b2lkIHNvbHZlKCkgewogICAgaW50IG51bU5vZGVzLCBudW1FZGdlczsKICAgIGNpbiA+PiBudW1Ob2RlcyA+PiBudW1FZGdlczsKCiAgICAvLyBBZGphY2VuY3kgbGlzdCB0byBzdG9yZSB0aGUgZ3JhcGgKICAgIHZlY3Rvcjx2ZWN0b3I8aW50Pj4gYWRqYWNlbmN5TGlzdChudW1Ob2RlcyArIDEpOwoKICAgIC8vIFJlYWRpbmcgZWRnZXMKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbnVtRWRnZXM7ICsraSkgewogICAgICAgIGludCBub2RlVSwgbm9kZVY7CiAgICAgICAgY2luID4+IG5vZGVVID4+IG5vZGVWOwoKICAgICAgICAvLyBTaW5jZSB0aGUgZ3JhcGggaXMgdW5kaXJlY3RlZAogICAgICAgIGFkamFjZW5jeUxpc3Rbbm9kZVVdLnB1c2hfYmFjayhub2RlVik7CiAgICAgICAgYWRqYWNlbmN5TGlzdFtub2RlVl0ucHVzaF9iYWNrKG5vZGVVKTsKICAgIH0KCiAgICAvLyBQcmludGluZyB0aGUgYWRqYWNlbmN5IGxpc3QKICAgIGZvciAoaW50IG5vZGUgPSAxOyBub2RlIDw9IG51bU5vZGVzOyArK25vZGUpIHsKICAgICAgICBjb3V0IDw8ICJOb2RlICIgPDwgbm9kZSA8PCAiOiAiOwogICAgICAgIGZvciAoaW50IG5laWdoYm9yIDogYWRqYWNlbmN5TGlzdFtub2RlXSkgewogICAgICAgICAgICBjb3V0IDw8IG5laWdoYm9yIDw8ICIgIjsKICAgICAgICB9CiAgICAgICAgY291dCA8PCBlbmRsOwogICAgfQp9IApzaWduZWQgbWFpbigpewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyBjaW4udGllKE5VTEwpOwogICAgU1BGKCk7CiAgICAvL2ludCB0OwogICAgLy9jaW4gPj4gdDsKICAgIC8vd2hpbGUodC0tKXsKICAgICAgICBzb2x2ZSgpOwogICAgLy99CiAgICByZXR1cm4gMDsKfQ==