#include <bits/stdc++.h>
using namespace std;
const char* fi = "inp.txt";
const char* fo = "out.txt";
const int MAXN = 3e5;
queue<int> qu;
bool inqu[MAXN];
vector<int> gr[MAXN];
int bad[MAXN], color[MAXN];
void check(int);
int main() {
  int n, m;
  cin >> n >> m;
  memset(bad, 0, sizeof bad);
  memset(inqu, 0, sizeof inqu);
  memset(color, 0, sizeof color);
  while (m--) {
    int u, v;
    cin >> u >> v;
    --u;
    --v;
    gr[u].push_back(v);
    gr[v].push_back(u);
    ++bad[u];
    ++bad[v];
  }
  int i;
  for (i = 0; i < n; ++i) check(i);
  while (!qu.empty()) {
    i = qu.front();
    qu.pop();
    inqu[i] = 0;
    if (bad[i] < 2) continue;
    color[i] ^= 1;
    bad[i] = 0;
    for (int k = 0; k < gr[i].size(); ++k)
      if (color[i] == color[gr[i][k]]) {
        ++bad[i];
        ++bad[gr[i][k]];
        check(gr[i][k]);
      } else
        --bad[gr[i][k]];
  }
  for (i = 0; i < n; ++i) cout << color[i];
}
void check(int x) {
  if (bad[x] > 1 && !inqu[x]) {
    qu.push(x);
    inqu[x] = 1;
  }
}
