#include <bits/stdc++.h>
using namespace std;
const int maxn = 300100;
vector<int> G[maxn];
int N, M;
int ans[maxn];
void solve() {
  scanf("%d %d", &N, &M);
  for (int i = 0; i < M; i++) {
    int u, v;
    scanf("%d %d", &u, &v);
    G[u].push_back(v);
    G[v].push_back(u);
  }
  queue<int> Q;
  for (int i = 1; i <= N; i++) Q.push(i);
  while (!Q.empty()) {
    int u = Q.front();
    Q.pop();
    int tmp = 0;
    for (int i = 0; i < G[u].size(); i++) {
      if (ans[u] == ans[G[u][i]]) tmp++;
    }
    if (tmp >= 2) {
      ans[u] ^= 1;
      for (int i = 0; i < G[u].size(); i++) {
        Q.push(G[u][i]);
      }
    }
  }
  for (int i = 1; i <= N; i++) {
    if (i != N)
      printf("%d", ans[i]);
    else
      printf("%d\n", ans[i]);
  }
}
int main() {
  solve();
  return 0;
}
