#include <bits/stdc++.h>
using namespace std;
const int maxn = 300010;
const int maxm = 2000010;
const int INF = 1e9;
const int mod1 = 1e9 + 7;
const int mod2 = 123456701;
int n, m;
vector<int> g[maxn];
int ans[maxn];
void sat(int x) {
  int cnt = 0;
  int i, j;
  for (i = 0; i < g[x].size(); i++) {
    int v = g[x][i];
    if (ans[v] == ans[x]) cnt++;
  }
  if (cnt > 1) {
    ans[x] = 1 - ans[x];
    for (i = 0; i < g[x].size(); i++) {
      int v = g[x][i];
      if (ans[v] == ans[x]) sat(v);
    }
  }
  return;
}
int main() {
  int i, j;
  int k;
  scanf("%d%d", &n, &m);
  for (i = 1; i <= m; i++) {
    int x, y;
    scanf("%d%d", &x, &y);
    g[x].push_back(y);
    g[y].push_back(x);
  }
  memset(ans, 0, sizeof(ans));
  for (i = 1; i <= n; i++) sat(i);
  for (i = 1; i <= n; i++) {
    printf("%d", ans[i]);
  }
  printf("\n");
  return 0;
}
