#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1000 * 1001;
vector<int> a[MAXN];
set<int> bad;
int mark[MAXN] = {}, q[MAXN] = {};
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int n, m, x, y;
  cin >> n >> m;
  for (int i = 0; i < m; i++) {
    cin >> x >> y;
    a[x].push_back(y);
    a[y].push_back(x);
    q[x]++;
    q[y]++;
  }
  for (int i = 1; i <= n; i++)
    if (a[i].size() > 1) bad.insert(i);
  while (bad.size()) {
    int u = *bad.begin();
    bad.erase(u);
    mark[u] = 1 - mark[u];
    q[u] = a[u].size() - q[u];
    for (auto v : a[u]) {
      if (mark[v] == mark[u]) {
        q[v]++;
        if (q[v] > 1) bad.insert(v);
      } else {
        q[v]--;
        if (q[v] < 2) bad.erase(v);
      }
    }
  }
  for (int i = 1; i <= n; i++) cout << mark[i];
}
