#include <bits/stdc++.h>
using namespace std;
const int MAXN = 300100;
int v[MAXN];
vector<int> grafo[MAXN];
signed main() {
  memset(v, 0, sizeof v);
  int n, m;
  cin >> n >> m;
  for (int i = 1; i <= m; i++) {
    int x, y;
    cin >> x >> y;
    grafo[x].push_back(y), grafo[y].push_back(x);
  }
  queue<int> fila;
  for (int i = 1; i <= n; i++)
    if (grafo[i].size() >= 2) fila.push(i);
  while (!fila.empty()) {
    int at = fila.front();
    fila.pop();
    int r = 0;
    for (int i = 0; i < grafo[at].size(); i++) {
      int pa = grafo[at][i];
      if (v[at] == v[pa]) r++;
    }
    if (r >= 2)
      v[at] += 1, v[at] %= 2;
    else
      continue;
    for (int i = 0; i < grafo[at].size(); i++) {
      int pa = grafo[at][i];
      r = 0;
      for (int j = 0; j < grafo[pa].size(); j++) {
        int k = grafo[pa][j];
        if (v[k] == v[pa]) r++;
      }
      if (r >= 2) fila.push(pa);
    }
  }
  for (int i = 1; i <= n; i++) cout << v[i];
}
