/// euler's cycle - muoii
/// vn.spoj.com/problems/NKPOS/
#include <bits/stdc++.h>
using namespace std;
#define tag "spoj"
#define maxn 207
#define maxc 207
#define oo 1000000007
#define mid ((l+r)>>1)
#define meset(a,x) memset(a,x,sizeof(a))
#define loop(x) for(int LoOpEr=x;LoOpEr-->0;)
///>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
int n,m;
int c[maxn][maxn];
void euler_tour()
{
cout<<m<<"\n";
stack<int> stak;
stak.push(1);
int u,v;
while(stak.size())
{
u=stak.top();
for(v=1;v<=n;v++)
if(c[u][v])
{
stak.push(v);
--c[u][v];
--c[v][u];
break;
}
if(v>n)
{
cout<<u<<" ";
stak.pop();
}
}
}
int main()
{
#ifdef dmdd
freopen(tag".inp","r",stdin); freopen(tag".out","w",stdout);
#endif // dmdd
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin>>n>>m;
int x,y;
loop(n) cin>>x;
loop(m) cin>>x>>y,++c[x][y],++c[y][x];
euler_tour();
return 0;
}
Ly8vIGV1bGVyJ3MgY3ljbGUgLSBtdW9paQoKLy8vIHZuLnNwb2ouY29tL3Byb2JsZW1zL05LUE9TLwoKI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgdGFnICJzcG9qIgojZGVmaW5lIG1heG4gMjA3CiNkZWZpbmUgbWF4YyAyMDcKI2RlZmluZSBvbyAxMDAwMDAwMDA3CiNkZWZpbmUgbWlkICgobCtyKT4+MSkKI2RlZmluZSBtZXNldChhLHgpIG1lbXNldChhLHgsc2l6ZW9mKGEpKQojZGVmaW5lIGxvb3AoeCkgZm9yKGludCBMb09wRXI9eDtMb09wRXItLT4wOykKLy8vPj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+PgppbnQgbixtOwppbnQgY1ttYXhuXVttYXhuXTsKdm9pZCBldWxlcl90b3VyKCkKewogICAgY291dDw8bTw8IlxuIjsKICAgIHN0YWNrPGludD4gc3RhazsKICAgIHN0YWsucHVzaCgxKTsKIAogICAgaW50IHUsdjsKICAgIHdoaWxlKHN0YWsuc2l6ZSgpKQogICAgewogICAgICAgIHU9c3Rhay50b3AoKTsKIAogICAgICAgIGZvcih2PTE7djw9bjt2KyspCiAgICAgICAgICAgIGlmKGNbdV1bdl0pCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHN0YWsucHVzaCh2KTsKICAgICAgICAgICAgICAgIC0tY1t1XVt2XTsKICAgICAgICAgICAgICAgIC0tY1t2XVt1XTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAKICAgICAgICBpZih2Pm4pCiAgICAgICAgewogICAgICAgICAgICBjb3V0PDx1PDwiICI7CiAgICAgICAgICAgIHN0YWsucG9wKCk7CiAgICAgICAgfQogICAgfQp9CiAKaW50IG1haW4oKQp7CiAgICAjaWZkZWYgZG1kZAogICAgZnJlb3Blbih0YWciLmlucCIsInIiLHN0ZGluKTsgZnJlb3Blbih0YWciLm91dCIsInciLHN0ZG91dCk7CiAgICAjZW5kaWYgLy8gZG1kZAogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTtjaW4udGllKDApO2NvdXQudGllKDApOwogCiAgICBjaW4+Pm4+Pm07CiAKICAgIGludCB4LHk7CiAgICBsb29wKG4pIGNpbj4+eDsKICAgIGxvb3AobSkgY2luPj54Pj55LCsrY1t4XVt5XSwrK2NbeV1beF07CiAKICAgIGV1bGVyX3RvdXIoKTsKIAogICAgcmV0dXJuIDA7Cn0=