#include <bits/stdc++.h>
#pragma GCC optimize("Ofast,fast-math,unroll-loops")
#pragma GCC target("avx2,fma")
using namespace std;
#define ll long long
#define int ll
#define all(a) a.begin(),a.end()
#define allr(a) a.rbegin(),a.rend()
#define pb push_back
#define yes cout<<"YES"
#define no cout<<"NO"
#define endl '\n'
#define endll cout<<endl
#define Fast ios_base::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
#define F first
#define S second
#define im cout<<"IMPOSSIBLE"
const int N = 5e5 + 11;
const int NN = 106;
const int mo = 1e9 + 123;
const int mod = 1e9 + 7;
const int m = 1e9 + 123;
const int Mod = 998244353;
const ll inf = 1e18;
const int LOG = 19;
#define PI 3.14159265
int Lcm(int x, int y) {
return x / __gcd(x, y) * y;
}
vector<int> v[N];
int vis[N];
int dist[N], par[N];
void bfs(int node) {
queue<int> q;
q.push(node);
vis[node] = 1;
while (q.size()) {
int x = q.front();
q.pop();
for (auto i: v[x]) {
if (vis[i])continue;
q.push(i);
vis[i] = 1;
dist[i] = dist[x] + 1;
par[i] = x;
}
}
}
void solve() {
int n, m;
cin >> n >> m;
for (int i = 0; i < m; ++i) {
int x, y;
cin >> x >> y;
v[x].pb(y);
v[y].pb(x);
}
bfs(1);
if (vis[n]) {
vector<int> ans;
int node = n;
while (node != 1) {
ans.pb(node);
node = par[node];
}
ans.pb(1);
cout << dist[n] + 1 << endl;
reverse(all(ans));
for (auto i: ans)
cout << i << " ";
endll;
} else cout << "IMPOSSIBLE";
}
int32_t main() {
Fast;
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
int t = 1;
//cin >> t;
for (int i = 1; i < t + 1; ++i) {
// cout << "Case #" << i << ": ";
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiAKIAojcHJhZ21hIEdDQyBvcHRpbWl6ZSgiT2Zhc3QsZmFzdC1tYXRoLHVucm9sbC1sb29wcyIpCiNwcmFnbWEgR0NDIHRhcmdldCgiYXZ4MixmbWEiKQp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGludCBsbAojZGVmaW5lIGFsbChhKSBhLmJlZ2luKCksYS5lbmQoKQojZGVmaW5lIGFsbHIoYSkgYS5yYmVnaW4oKSxhLnJlbmQoKQojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIHllcyBjb3V0PDwiWUVTIgojZGVmaW5lIG5vIGNvdXQ8PCJOTyIKI2RlZmluZSBlbmRsICdcbicKI2RlZmluZSBlbmRsbCBjb3V0PDxlbmRsCiNkZWZpbmUgRmFzdCBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTtjaW4udGllKG51bGxwdHIpO2NvdXQudGllKG51bGxwdHIpOwojZGVmaW5lIEYgZmlyc3QKI2RlZmluZSBTIHNlY29uZAojZGVmaW5lIGltIGNvdXQ8PCJJTVBPU1NJQkxFIgpjb25zdCBpbnQgTiA9IDVlNSArIDExOwpjb25zdCBpbnQgTk4gPSAxMDY7CmNvbnN0IGludCBtbyA9IDFlOSArIDEyMzsKY29uc3QgaW50IG1vZCA9IDFlOSArIDc7CmNvbnN0IGludCBtID0gMWU5ICsgMTIzOwpjb25zdCBpbnQgTW9kID0gOTk4MjQ0MzUzOwpjb25zdCBsbCBpbmYgPSAxZTE4Owpjb25zdCBpbnQgTE9HID0gMTk7CiNkZWZpbmUgUEkgMy4xNDE1OTI2NQogCiAKaW50IExjbShpbnQgeCwgaW50IHkpIHsKICAgIHJldHVybiB4IC8gX19nY2QoeCwgeSkgKiB5Owp9CiAKdmVjdG9yPGludD4gdltOXTsKaW50IHZpc1tOXTsKaW50IGRpc3RbTl0sIHBhcltOXTsKIAp2b2lkIGJmcyhpbnQgbm9kZSkgewogICAgcXVldWU8aW50PiBxOwogICAgcS5wdXNoKG5vZGUpOwogICAgdmlzW25vZGVdID0gMTsKICAgIHdoaWxlIChxLnNpemUoKSkgewogICAgICAgIGludCB4ID0gcS5mcm9udCgpOwogICAgICAgIHEucG9wKCk7CiAgICAgICAgZm9yIChhdXRvIGk6IHZbeF0pIHsKICAgICAgICAgICAgaWYgKHZpc1tpXSljb250aW51ZTsKICAgICAgICAgICAgcS5wdXNoKGkpOwogICAgICAgICAgICB2aXNbaV0gPSAxOwogICAgICAgICAgICBkaXN0W2ldID0gZGlzdFt4XSArIDE7CiAgICAgICAgICAgIHBhcltpXSA9IHg7CiAgICAgICAgfQogICAgfQp9CiAKdm9pZCBzb2x2ZSgpIHsKICAgIGludCBuLCBtOwogICAgY2luID4+IG4gPj4gbTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbTsgKytpKSB7CiAgICAgICAgaW50IHgsIHk7CiAgICAgICAgY2luID4+IHggPj4geTsKICAgICAgICB2W3hdLnBiKHkpOwogICAgICAgIHZbeV0ucGIoeCk7CiAgICB9CiAgICBiZnMoMSk7CiAgICBpZiAodmlzW25dKSB7CiAgICAgICAgdmVjdG9yPGludD4gYW5zOwogICAgICAgIGludCBub2RlID0gbjsKICAgICAgICB3aGlsZSAobm9kZSAhPSAxKSB7CiAgICAgICAgICAgIGFucy5wYihub2RlKTsKICAgICAgICAgICAgbm9kZSA9IHBhcltub2RlXTsKICAgICAgICB9CiAgICAgICAgYW5zLnBiKDEpOwogICAgICAgIGNvdXQgPDwgZGlzdFtuXSArIDEgPDwgZW5kbDsKICAgICAgICByZXZlcnNlKGFsbChhbnMpKTsKICAgICAgICBmb3IgKGF1dG8gaTogYW5zKQogICAgICAgICAgICBjb3V0IDw8IGkgPDwgIiAiOwogICAgICAgIGVuZGxsOwogICAgfSBlbHNlIGNvdXQgPDwgIklNUE9TU0lCTEUiOwp9CiAKIAppbnQzMl90IG1haW4oKSB7CiAgICBGYXN0OwojaWZuZGVmIE9OTElORV9KVURHRQogICAgZnJlb3BlbigiaW5wdXQudHh0IiwgInIiLCBzdGRpbik7CiAgICBmcmVvcGVuKCJvdXRwdXQudHh0IiwgInciLCBzdGRvdXQpOwojZW5kaWYKICAgIGludCB0ID0gMTsKICAgIC8vY2luID4+IHQ7CiAgICBmb3IgKGludCBpID0gMTsgaSA8IHQgKyAxOyArK2kpIHsKICAgICAgICAvLyBjb3V0IDw8ICJDYXNlICMiIDw8IGkgPDwgIjogIjsKICAgICAgICBzb2x2ZSgpOwogICAgfQogICAgcmV0dXJuIDA7Cn0=
Main.java:1: error: illegal character: '#'
#include <bits/stdc++.h>
^
Main.java:1: error: class, interface, or enum expected
#include <bits/stdc++.h>
^
Main.java:4: error: illegal character: '#'
#pragma GCC optimize("Ofast,fast-math,unroll-loops")
^
Main.java:5: error: illegal character: '#'
#pragma GCC target("avx2,fma")
^
Main.java:7: error: illegal character: '#'
#define ll long long
^
Main.java:7: error: class, interface, or enum expected
#define ll long long
^
Main.java:8: error: illegal character: '#'
#define int ll
^
Main.java:9: error: illegal character: '#'
#define all(a) a.begin(),a.end()
^
Main.java:10: error: illegal character: '#'
#define allr(a) a.rbegin(),a.rend()
^
Main.java:11: error: illegal character: '#'
#define pb push_back
^
Main.java:12: error: illegal character: '#'
#define yes cout<<"YES"
^
Main.java:13: error: illegal character: '#'
#define no cout<<"NO"
^
Main.java:14: error: illegal character: '#'
#define endl '\n'
^
Main.java:15: error: illegal character: '#'
#define endll cout<<endl
^
Main.java:16: error: illegal character: '#'
#define Fast ios_base::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
^
Main.java:16: error: class, interface, or enum expected
#define Fast ios_base::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
^
Main.java:16: error: class, interface, or enum expected
#define Fast ios_base::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
^
Main.java:17: error: illegal character: '#'
#define F first
^
Main.java:17: error: class, interface, or enum expected
#define F first
^
Main.java:18: error: illegal character: '#'
#define S second
^
Main.java:19: error: illegal character: '#'
#define im cout<<"IMPOSSIBLE"
^
Main.java:21: error: class, interface, or enum expected
const int NN = 106;
^
Main.java:22: error: class, interface, or enum expected
const int mo = 1e9 + 123;
^
Main.java:23: error: class, interface, or enum expected
const int mod = 1e9 + 7;
^
Main.java:24: error: class, interface, or enum expected
const int m = 1e9 + 123;
^
Main.java:25: error: class, interface, or enum expected
const int Mod = 998244353;
^
Main.java:26: error: class, interface, or enum expected
const ll inf = 1e18;
^
Main.java:27: error: class, interface, or enum expected
const int LOG = 19;
^
Main.java:28: error: illegal character: '#'
#define PI 3.14159265
^
Main.java:28: error: class, interface, or enum expected
#define PI 3.14159265
^
Main.java:33: error: class, interface, or enum expected
}
^
Main.java:36: error: class, interface, or enum expected
int vis[N];
^
Main.java:37: error: class, interface, or enum expected
int dist[N], par[N];
^
Main.java:39: error: class, interface, or enum expected
void bfs(int node) {
^
Main.java:41: error: class, interface, or enum expected
q.push(node);
^
Main.java:42: error: class, interface, or enum expected
vis[node] = 1;
^
Main.java:43: error: class, interface, or enum expected
while (q.size()) {
^
Main.java:45: error: class, interface, or enum expected
q.pop();
^
Main.java:46: error: class, interface, or enum expected
for (auto i: v[x]) {
^
Main.java:48: error: class, interface, or enum expected
q.push(i);
^
Main.java:49: error: class, interface, or enum expected
vis[i] = 1;
^
Main.java:50: error: class, interface, or enum expected
dist[i] = dist[x] + 1;
^
Main.java:51: error: class, interface, or enum expected
par[i] = x;
^
Main.java:52: error: class, interface, or enum expected
}
^
Main.java:58: error: class, interface, or enum expected
cin >> n >> m;
^
Main.java:59: error: class, interface, or enum expected
for (int i = 0; i < m; ++i) {
^
Main.java:59: error: class, interface, or enum expected
for (int i = 0; i < m; ++i) {
^
Main.java:59: error: class, interface, or enum expected
for (int i = 0; i < m; ++i) {
^
Main.java:61: error: class, interface, or enum expected
cin >> x >> y;
^
Main.java:62: error: class, interface, or enum expected
v[x].pb(y);
^
Main.java:63: error: class, interface, or enum expected
v[y].pb(x);
^
Main.java:64: error: class, interface, or enum expected
}
^
Main.java:66: error: class, interface, or enum expected
if (vis[n]) {
^
Main.java:68: error: class, interface, or enum expected
int node = n;
^
Main.java:69: error: class, interface, or enum expected
while (node != 1) {
^
Main.java:71: error: class, interface, or enum expected
node = par[node];
^
Main.java:72: error: class, interface, or enum expected
}
^
Main.java:74: error: class, interface, or enum expected
cout << dist[n] + 1 << endl;
^
Main.java:75: error: class, interface, or enum expected
reverse(all(ans));
^
Main.java:76: error: class, interface, or enum expected
for (auto i: ans)
^
Main.java:78: error: class, interface, or enum expected
endll;
^
Main.java:79: error: class, interface, or enum expected
} else cout << "IMPOSSIBLE";
^
Main.java:80: error: class, interface, or enum expected
}
^
Main.java:85: error: illegal character: '#'
#ifndef ONLINE_JUDGE
^
Main.java:85: error: class, interface, or enum expected
#ifndef ONLINE_JUDGE
^
Main.java:87: error: class, interface, or enum expected
freopen("output.txt", "w", stdout);
^
Main.java:88: error: illegal character: '#'
#endif
^
Main.java:89: error: class, interface, or enum expected
int t = 1;
^
Main.java:91: error: class, interface, or enum expected
for (int i = 1; i < t + 1; ++i) {
^
Main.java:91: error: class, interface, or enum expected
for (int i = 1; i < t + 1; ++i) {
^
Main.java:91: error: class, interface, or enum expected
for (int i = 1; i < t + 1; ++i) {
^
Main.java:94: error: class, interface, or enum expected
}
^
Main.java:96: error: class, interface, or enum expected
}
^
73 errors