#include<iostream> #include<vector> #include<algorithm> using namespace std; struct E{ int to, id; }; signed main(){ int N, M; cin>> N>> M; vector<E> g[N]; for(int i=0; i<M; i++){ int a, b; cin>> a>> b; g[a].push_back(E{b, i}); g[b].push_back(E{a, i}); } for(int i=0; i<(1<<N); i++){ vector<int> v; for(int j=0; j<N; j++){ v.push_back((i>>j)&1); } vector<int> used(M, 0); for(int k=0; k<N; k++){ if(v[k]){ for(auto e: g[k]){ used[e.id]=1; } } } int s=0; for(int u: used) s+=u; if(s==M){ reverse(v.begin(), v.end()); bool Lz=true; for(int d: v){ if(d==0){ if(Lz){ }else{ cout<< d; } }else{ if(Lz){ Lz=false; } cout<< d; } }cout<< endl; break; } } return 0; }