#include <bits/stdc++.h>
using namespace std;
priority_queue<pair<int, int> > a;
vector<int> g[111111 * 3];
int n;
int res[111111 * 3];
int deg[111111 * 3];
void upd(int v) {
  deg[v] = 0;
  for (int i = 0; i < g[v].size(); i++) deg[v] += res[v] == res[g[v][i]];
  a.push(make_pair(deg[v], v));
}
int main() {
  int m, i, j, l, r;
  cin >> n >> m;
  for (i = 0; i < m; i++) {
    cin >> l >> r;
    l--;
    r--;
    g[l].push_back(r);
    g[r].push_back(l);
  }
  for (i = 0; i < n; i++) {
    res[i] = 0;
    deg[i] = g[i].size();
    a.push(make_pair(deg[i], i));
  }
  while (a.top().first > 1) {
    l = a.top().first;
    r = a.top().second;
    if (deg[r] != l) {
      a.pop();
      continue;
    }
    res[r] = !res[r];
    for (i = 0; i < g[r].size(); i++) upd(g[r][i]);
    upd(r);
  }
  for (i = 0; i < n; i++) {
    cout << res[i];
  }
  return 0;
}
