#include <bits/stdc++.h>
using namespace std;
const int maxN = 3 * 100000;
bool color[maxN];
vector<int> g[maxN];
void dfs(int i) {}
int main() {
  int n, m;
  cin >> n >> m;
  for (int i = 0; i < m; ++i) {
    int a, b;
    scanf("%d%d", &a, &b);
    g[a - 1].push_back(b - 1);
    g[b - 1].push_back(a - 1);
  }
  queue<int> q;
  for (int i = 0; i < n; ++i) {
    int c = 0;
    for (int j = 0; j < g[i].size(); ++j) {
      if (color[i] == color[g[i][j]]) c++;
    }
    if (c > 1) {
      q.push(i);
    }
  }
  while (!q.empty()) {
    int v = q.front(), c = 0;
    q.pop();
    for (int i = 0; i < g[v].size(); ++i) {
      if (color[v] == color[g[v][i]]) c++;
    }
    if (c > 1) {
      color[v] = !color[v];
      for (int i = 0; i < g[v].size(); ++i) {
        if (color[v] == color[g[v][i]]) q.push(g[v][i]);
      }
    }
  }
  for (int i = 0; i < n; ++i) {
    cout << color[i];
  }
  return 0;
}
