// clang-format off #include #include #include #include #include #define FOR(i, a, b) for(int i = (a); i < (b); i++) #define RFOR(i, a, b) for(int i = (b)-1; i >= (a); i--) #define rep(i, n) for(int i = 0; i < (n); i++) #define rep1(i,n) for(int i = 1; i <= (n); i++) #define rrep(i, n) for(int i = (n)-1; i >= 0; i--) #define pb push_back #define mp make_pair #define fst first #define snd second #define show(x) cout << #x << " = " << x << endl #define chmin(x,y) x=min(x,y) #define chmax(x,y) x=max(x,y) #define pii pair #define vi vector using namespace std; template ostream& operator<<(ostream& o,const pair& p){return o<<"("< ostream& operator<<(ostream& o,const vector& vc){o<<"sz = "< g[MAX]; bool bits[MAX]; void reduct(int sup) { auto it = g[sup].begin(); while(it != g[sup].end()){ const int e = *it; if(e < sup){ bits[e] = true; g[sup].erase(it); auto ite = g[e].begin(); while(ite != g[e].end()){ const int e2 = *ite; if(e2 < e){ g[e].erase(ite); } else { ite++; } } } else { it++; } } } int main() { cin >> n >> m; rep(i, m){ int a_,b_; cin >> a_ >> b_; g[a_].pb(b_); g[b_].pb(a_); } rrep(i,n){ reduct(i); } bool f = false; rrep(i,n){ if(bits[i]){ cout << 1; f = true; } else { if(f){ cout << 0; } } } cout << endl; return 0; }