#include<bits/stdc++.h>
using namespace std;
int main()
{
int node, edge;
cin>>node>>edge;
vector<pair<int, int> >graph[node+1];
int u,v,w;
for(int i = 1; i <= edge; i++)
{
cin>>u>>v>>w;
graph[u].push_back(make_pair(v, w));
graph[v].push_back(make_pair(u, w));
}
///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].first<<" "<<graph[i][j].second<<") ";
}
cout<<endl;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewogICAgaW50IG5vZGUsIGVkZ2U7CiAgICBjaW4+Pm5vZGU+PmVkZ2U7CiAgICB2ZWN0b3I8cGFpcjxpbnQsIGludD4gPmdyYXBoW25vZGUrMV07CiAgICBpbnQgdSx2LHc7CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IGVkZ2U7IGkrKykKICAgIHsKICAgICAgIGNpbj4+dT4+dj4+dzsKICAgICAgIGdyYXBoW3VdLnB1c2hfYmFjayhtYWtlX3BhaXIodiwgdykpOwogICAgICAgZ3JhcGhbdl0ucHVzaF9iYWNrKG1ha2VfcGFpcih1LCB3KSk7CiAgICB9CgogICAgLy8vaSA9IG5vZGUsIGdyYXBoW2ldW2pdID0gbm9kZSwgaiA9IGNvbHVtbiBudW1iZXIKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbm9kZTsgaSsrKQogICAgewogICAgICAgIGNvdXQ8PCIgTm9kZSAiPDxpPDwiIC0+ICI7CiAgICAgICAgZm9yKGludCBqID0gMDsgaiA8IGdyYXBoW2ldLnNpemUoKTsgaisrKQogICAgICAgIHsKICAgICAgICAgICAgY291dDw8IiggIjw8Z3JhcGhbaV1bal0uZmlyc3Q8PCIgIjw8Z3JhcGhbaV1bal0uc2Vjb25kPDwiKSAiOwogICAgICAgIH0KICAgICAgICBjb3V0PDxlbmRsOwogICAgfQp9Cgo=