func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long INF = 0x3f3f3f3f3f3f3f3fLL;   const int MOD = 1e9 + 7;   int main() {     ios::sync_with_stdio(false);     cin.tie(nullptr);     cout.tie(nullptr);     int n, m;     cin >> n >> m;     vector<vector<int>> e(n + 1);     for (int i = 0; i < m; i++) {       int x, y;       cin >> x >> y;       e[x].push_back(y);       e[y].push_back(x);     }     vector<int> val(n + 1);     for (int i = 1; i <= n; i++) {       cin >> val[i];     }     vector<int> order(n);     iota(order.begin(), order.end(), 1);     sort(order.begin(), order.end(),          [&](int i, int j) { return val[i] < val[j]; });     for (int i = 0; i < n; i++) {       set<int> s;       for (int x : e[order[i]]) {         s.insert(val[x]);       }       int c = 1;       while (s.count(c)) {         c++;       }       if (c != val[order[i]]) {         cout << -1 <<   n ;         return 0;       }     }     for (int i : order) {       cout << i <<    ;     }     cout <<   n ;   }   