#include <bits/stdc++.h>
using namespace std;
int main() {
int n, m;
cout << "N: ";
cin >> n;
cout << "M: ";
cin >> m;
vector<int> g[n]; // Create adjacency list for n nodes
cout << "Taking input of undirected graph:\n";
for (int i = 0; i < m; i++) {
int x, y;
cin >> x >> y;
g[x].push_back(y);
g[y].push_back(x);
}
cout << "Node | Degree\n";
for (int i = 0; i < n; i++) {
cout << i << " -> " << g[i].size() << "\n";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIGludCBuLCBtOwogICAgY291dCA8PCAiTjogIjsKICAgIGNpbiA+PiBuOwogICAgY291dCA8PCAiTTogIjsKICAgIGNpbiA+PiBtOwoKICAgIHZlY3RvcjxpbnQ+IGdbbl07ICAvLyBDcmVhdGUgYWRqYWNlbmN5IGxpc3QgZm9yIG4gbm9kZXMKCiAgICBjb3V0IDw8ICJUYWtpbmcgaW5wdXQgb2YgdW5kaXJlY3RlZCBncmFwaDpcbiI7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG07IGkrKykgewogICAgICAgIGludCB4LCB5OwogICAgICAgIGNpbiA+PiB4ID4+IHk7CiAgICAgICAgZ1t4XS5wdXNoX2JhY2soeSk7CiAgICAgICAgZ1t5XS5wdXNoX2JhY2soeCk7CiAgICB9CgogICAgY291dCA8PCAiTm9kZSB8IERlZ3JlZVxuIjsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgY291dCA8PCBpIDw8ICIgLT4gIiA8PCBnW2ldLnNpemUoKSA8PCAiXG4iOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==