#include<iostream> #include<vector> 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}); } vector<int> v; int usedused[M]={}; for(int n=N-1; n>=0; n--){ int used[M]; for(int i=0; i<M; i++) used[i]=usedused[i]; for(int k=0; k<n; k++){ for(auto e: g[k]){ used[e.id]=1; } } bool y=false; for(auto e: g[n]){ y|=(used[e.id]==0); } v.push_back(y); if(y){ for(auto e:g[n]){ usedused[e.id]=1; } } } bool Lz=true; for(int d: v){ if(d==0){ if(Lz){ }else{ cout<< d; } }else{ if(Lz){ cout<< d; Lz=false; }else{ cout<< d; } } }cout<< endl; return 0; }