#include <bits/stdc++.h>
using namespace std;
int N, M, poz[3 * 100100];
vector<int> graph[3 * 100100];
int main() {
  cin >> N >> M;
  for (int i = 1; i <= M; ++i) {
    int x, y;
    cin >> x >> y;
    graph[x].push_back(y);
    graph[y].push_back(x);
  }
  int mutare = 1;
  while (mutare) {
    mutare = 0;
    for (int i = 1; i <= N; ++i) {
      int nrBAD = 0;
      for (typeof((graph[i]).begin()) it = (graph[i]).begin();
           it != (graph[i]).end(); ++it)
        if (poz[*it] == poz[i]) ++nrBAD;
      if (nrBAD > 1) {
        poz[i] ^= 1;
        mutare = 1;
      }
    }
  }
  for (int i = 1; i <= N; ++i) cout << poz[i];
  return 0;
}
