#include <bits/stdc++.h>
using namespace std;
const int NMAX = 300000;
int g[NMAX][3], gc[NMAX];
bool c[NMAX];
int main() {
  int n, m, a, b, i, j, k, t, here;
  queue<int> q;
  scanf("%d%d", &n, &m);
  for (i = 0; i < m; i++) {
    scanf("%d%d", &a, &b);
    a--, b--;
    g[a][gc[a]++] = b;
    g[b][gc[b]++] = a;
  }
  for (i = 0; i < n; i++) {
    t = 0;
    for (j = 0; j < gc[i]; j++) t += c[i] == c[g[i][j]];
    if (t > 1) q.push(i);
  }
  while (!q.empty()) {
    i = q.front();
    q.pop();
    t = 0;
    for (j = 0; j < gc[i]; j++) t += c[i] == c[g[i][j]];
    if (t <= 1) continue;
    c[i] ^= 1;
    for (j = 0; j < gc[i]; j++) {
      here = g[i][j];
      t = 0;
      for (k = 0; k < gc[here]; k++) t += c[here] == c[g[here][k]];
      if (t > 1) q.push(here);
    }
  }
  for (i = 0; i < n; i++) printf("%d", c[i]);
  return 0;
}
