func_code_string: #include <bits/stdc++.h>   using namespace std;   const int maxn = 5e2;   pair<pair<int, int>, bool> pr[maxn][maxn][2];   queue<pair<pair<int, int>, bool> > q;   vector<int> neighbor[maxn];   void bfs(int s, int t) {     for (int i = 0; i < maxn; i++)       for (int j = 0; j < maxn; j++)         for (int k = 0; k < 2; k++)           pr[i][j][k] = make_pair(make_pair(-1, -1), false);     q.push(make_pair(make_pair(s, t), 0));     while (!q.empty()) {       int v = q.front().first.second, u = q.front().first.first;       bool b = q.front().second;       q.pop();       if (!b) {         for (int i = 0; i < neighbor[u].size(); i++)           if (pr[neighbor[u][i]][v][!b].first.first == -1) {             pr[neighbor[u][i]][v][!b] = make_pair(make_pair(u, v), b);             q.push(make_pair(make_pair(neighbor[u][i], v), !b));           }       } else {         for (int i = 0; i < neighbor[v].size(); i++)           if (pr[u][neighbor[v][i]][!b].first.first == -1 &&               neighbor[v][i] != u && (u != s || neighbor[v][i] != t)) {             pr[u][neighbor[v][i]][!b] = make_pair(make_pair(u, v), b);             q.push(make_pair(make_pair(u, neighbor[v][i]), !b));           }       }     }   }   int main() {     int n, m;     cin >> n >> m;     for (int i = 0; i < m; i++) {       int u, v;       cin >> u >> v;       neighbor[u - 1].push_back(v - 1);       neighbor[v - 1].push_back(u - 1);     }     bfs(0, n - 1);     if (pr[n - 1][0][0].first.first == -1)       cout << -1;     else {       vector<int> fi, se;       pair<pair<int, int>, bool> kl = make_pair(make_pair(n - 1, 0), 0);       while (kl.first.first != -1) {         if (kl.second)           se.push_back(kl.first.second);         else           fi.push_back(kl.first.first);         kl = pr[kl.first.first][kl.first.second][kl.second];       }       cout << fi.size() - 1 << endl;       for (int i = fi.size() - 1; i > -1; i--) cout << fi[i] + 1 <<    ;       cout << endl;       for (int i = se.size() - 1; i > -1; i--) cout << se[i] + 1 <<    ;       cout << 1;     }   }   