func_code_string: #include <bits/stdc++.h>   using namespace std;   const int maxn = 100010;   vector<int> v[5 * maxn];   int t[5 * maxn];   int comp[5 * maxn];   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     int n = 0, m = 0, x = 0, y = 0;     cin >> n >> m;     for (int i = 0; i < m; ++i) {       cin >> x >> y;       --x;       --y;       v[x].push_back(y);       v[y].push_back(x);     }     vector<int> aux;     for (int i = 0; i < n; ++i) {       cin >> t[i];       comp[i] = 1;       if (t[i] == comp[i]) aux.push_back(i);     }     bool flag = false;     for (int i = 0; i < (int)aux.size(); ++i) {       int node = aux[i];       if (comp[node] != t[node]) flag = true;       for (auto j : v[node]) {         if (comp[j] == t[node]) {           ++comp[j];           if (comp[j] == t[j]) aux.push_back(j);         }       }     }     if ((int)aux.size() < n) flag = true;     if (flag)       cout <<  -1 ;     else {       for (auto i : aux) {         cout << (i + 1) <<    ;       }     }   }   