import random def test(): res = [1,0,1,0,1] while True: ok = [True,True] n = len(res) if res[n-1]==res[n-4] and res[n-2]==res[n-3]: ok[res[n-5]] = False if n>=6 and res[n-1]==res[n-5] and res[n-2]==res[n-4]: ok[res[n-6]] = False if all(res[i]==1 for i in range(n-4,n)) and res[n-5]==0: ok[1] = False if all(res[i]==0 for i in range(n-4,n)) and res[n-5]==1: ok[0] = False if ok[0]: if not ok[1]: res.append(0) else: res.append(random.randint(0,99)%2) elif ok[1]: res.append(1) else: break return res def test_p(N): res = [1,0,1,0] while True: res += [0,0,1,1,0,1] for n in range(len(res),len(res)-6,-1): for j in range(2): if res[n-j-1]!=res[n-5+j]: break else: assert False for j in range(2): if res[n-j-1]!=res[n-6+j]: break else: assert False if len(res) > 100: break return res def test_3(): res = [1,0,1] while True: ok = [True,True] n = len(res) if res[n-1]==res[n-2]: ok[res[n-3]] = False if n>=4 and res[n-1]==res[n-3]: ok[res[n-4]] = False if ok[0]: if not ok[1]: res.append(0) else: res.append(random.randint(0,99)%2) elif ok[1]: res.append(1) else: break return res M = 0 case = 0 s = "" while case: r = test_p(4) if len(r) > M: M = len(r) s = r #M = max(M,len(r)) case -= 1 #print(M) #print(s) N,K = map(int,input().split()) assert K%2 if K%2==1: if K==1: if N==1: print(1) else: print(-1) elif K==3: if N<=8: s = [0,0,0,1,0,1,1,1] s = s[:N] for i in range(N): s[i] = str(s[i]) print("".join(s)) else: print(-1) else: s = [1-(i%2) for i in range(K)] s += [0,0,1,1,0,1] * (N//5 + 1) s = s[:N] for i in range(N): s[i] = str(s[i]) print("".join(s))