#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1000 * 300 + 10, INF = 1e9 + 10;
int color[MAXN];
vector<int> adj[MAXN];
void dfs(int x, int col) {
  color[x] = col;
  for (__typeof((adj[x]).begin()) i = (adj[x]).begin(); i != (adj[x]).end();
       i++)
    if (color[*i] == 0) dfs(*i, col == 1 ? 2 : 1);
}
bool check(int i) {
  int cnt = 0;
  for (int j = 0; j < ((int)adj[i].size()); j++)
    if (color[i] == color[adj[i][j]]) cnt++;
  return (cnt <= 1);
}
int main() {
  ios::sync_with_stdio(false);
  int n, m;
  cin >> n >> m;
  for (int i = 0; i < m; i++) {
    int x, y;
    cin >> x >> y;
    x--, y--;
    adj[x].push_back(y);
    adj[y].push_back(x);
  }
  for (int i = 0; i < n; i++)
    if (color[i] == 0) dfs(i, 1);
  for (int j = 0; j < 50; j++)
    for (int i = 0; i < n; i++)
      if (!check(i)) color[i] = color[i] == 1 ? 2 : 1;
  for (int i = 0; i < n; i++) cout << color[i] - 1;
  return 0;
}
