#include <bits/stdc++.h>
using namespace std;
const int maxn = 333333;
vector<int> e[maxn];
int deg[maxn], an[maxn];
int n, m;
priority_queue<pair<int, int> > pq;
void fix(int u) {
  deg[u] = 0;
  for (int i = 0; i < e[u].size(); ++i)
    if (an[e[u][i]] == an[u]) ++deg[u];
  if (deg[u] > 1) pq.push(make_pair(deg[u], u));
}
int main() {
  scanf("%d%d", &n, &m);
  for (int i = 1; i <= m; ++i) {
    int a, b;
    scanf("%d%d", &a, &b);
    e[a].push_back(b);
    e[b].push_back(a);
    ++deg[a];
    ++deg[b];
  }
  for (int i = 1; i <= n; ++i)
    if (deg[i] > 1) pq.push(make_pair(deg[i], i));
  while (!pq.empty()) {
    pair<int, int> cur = pq.top();
    pq.pop();
    if (cur.first > 1) {
      int d = cur.first;
      int u = cur.second;
      if (d != deg[u]) continue;
      an[u] ^= 1;
      for (int j = 0; j < e[u].size(); ++j) fix(e[u][j]);
      fix(u);
    }
  }
  for (int i = 1; i <= n; ++i) printf("%d", an[i]);
  return 0;
}
