import sys import math def debug(x, table): for name, val in table.items(): if x is val: print('DEBUG: {} -> {}'.format(name, val), file=sys.stderr) return None n, m = map(int, input().split()) edges = {i:set() for i in range(n)} buy = ['0'] * n processed = list(range(0, n)) for i in range(m): a, b = map(int, input().split()) edges[a].add(b) edges[b].add(a) # debug(edges, locals()) while 1: max_v = max(processed) if max_v == -1: break processed[max_v] = -1 for node in edges[max_v]: buy[node] = '1' processed[node] = -1 # debug(buy, locals()) ans = ''.join([str(b) for b in reversed(buy)]) ans = ans.lstrip('0') print(ans)