#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize("O2,no-stack-protector,unroll-loops,fast-math")
const long long maxn = 3e5 + 10, maxm = 5e3 + 10, lg = 31, mod = 998244353,
                inf = 1e18;
long long n, m, c[maxn];
vector<long long> g[maxn];
void dfs(long long v) {
  long long ss = 0;
  for (auto u : g[v]) {
    if (!c[u]) c[u] = 3 - c[v], dfs(u);
    ss += (c[v] == c[u]);
  }
  if (ss > 1) c[v] = 3 - c[v];
}
int main() {
  ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  cin >> n >> m;
  while (m--) {
    long long v, u;
    cin >> v >> u;
    g[v].push_back(u), g[u].push_back(v);
  }
  for (int i = 1; i <= n; i++)
    if (!c[i]) c[i] = 1, dfs(i);
  for (int i = 1; i <= n; i++) cout << c[i] - 1;
  return 0;
}
