func_code_string: #include <bits/stdc++.h>   using namespace std;   long long bigmod(long long b, long long p, long long md) {     if (p == 0) return 1;     if (p % 2 == 1) {       return ((b % md) * bigmod(b, p - 1, md)) % md;     } else {       long long y = bigmod(b, p / 2, md);       return (y * y) % md;     }   }   set<int> vis;   set<int> st[200005];   vector<int> ans;   int cnt;   void dfs(int s) {     cnt++;     for (auto it = vis.begin(); it != vis.end();) {       if (st[s].find(*it) == st[s].end()) {         int node = *it;         vis.erase(node);         dfs(node);         it = vis.lower_bound(node);       } else         it++;     }   }   int main() {     int n, m;     cin >> n >> m;     for (int i = 0; i < m; i++) {       int a, b;       cin >> a >> b;       st[a].insert(b);       st[b].insert(a);     }     for (int i = 1; i <= n; i++) vis.insert(i);     for (int i = 1; i <= n; i++) {       if (vis.find(i) != vis.end()) {         cnt = 0;         vis.erase(i);         dfs(i);         ans.push_back(cnt);       }     }     cout << ans.size() <<   n ;     sort(ans.begin(), ans.end());     for (int i = 0; i < ans.size(); i++) cout << ans[i] <<    ;     return 0;   }   