n, m = map(int, input().split()) e = [set() for i in range(n)] d = [0] * n for i in range(m): u, v = map(int, input().split()) u -= 1 v -= 1 e[u].add(v) e[v].add(u) d[u] += 1 d[v] += 1 que = [i for i in range(n) if d[i] <= 3] for u in que: for v in e[u]: e[v].discard(u) d[v] -= 1 if d[v] == 3: que.append(v) c = [0] * n for u in reversed(que): cu = {1, 2, 3, 4} for v in e[u]: cu.discard(c[v]) c[u] = cu.pop() print("Yes") print(*c)