Let s be some string consisting of symbols "0" or "1". Let's call a string t a substring of string s, if there exists such number 1 ≤ l ≤ |s| - |t| + 1 that t = s_l s_{l+1} … s_{l + |t| - 1}. Let's call a substring t of string s unique, if there exist only one such l. 

For example, let s = "1010111". A string t = "010" is an unique substring of s, because l = 2 is the only one suitable number. But, for example t = "10" isn't a unique substring of s, because l = 1 and l = 3 are suitable. And for example t ="00" at all isn't a substring of s, because there is no suitable l.

Today Vasya solved the following problem at the informatics lesson: given a string consisting of symbols "0" and "1", the task is to find the length of its minimal unique substring. He has written a solution to this problem and wants to test it. He is asking you to help him.

You are given 2 positive integers n and k, such that (n mod 2) = (k mod 2), where (x mod 2) is operation of taking remainder of x by dividing on 2. Find any string s consisting of n symbols "0" or "1", such that the length of its minimal unique substring is equal to k.

Input

The first line contains two integers n and k, separated by spaces (1 ≤ k ≤ n ≤ 100 000, (k mod 2) = (n mod 2)).

Output

Print a string s of length n, consisting of symbols "0" and "1". Minimal length of the unique substring of s should be equal to k. You can find any suitable string. It is guaranteed, that there exists at least one such string.

Examples

Input


4 4


Output


1111

Input


5 3


Output


01010

Input


7 3


Output


1011011

Note

In the first test, it's easy to see, that the only unique substring of string s = "1111" is all string s, which has length 4.

In the second test a string s = "01010" has minimal unique substring t ="101", which has length 3.

In the third test a string s = "1011011" has minimal unique substring t ="110", which has length 3.
from collections import deque, namedtuple
import random
import time

seed = int(time.time())
random.seed(seed)

def solve(n, k):
    n2 = n//2
    if k < n2:
        period = k
        block = '1' + '0'*(period)
        s = block*k + '0'*(n-k*(period+1))
        return s[:n]
    else:
        period = (n-k)//2+1
        n_period = n//period
        block = '0'*(period-1) + '1'
        s = block*n_period + '0'*(n-n_period*period)
        return s

def solve_good(n, k):
    nmk2 = (n-k)//2
    rep = '0'*nmk2 + '1'
    nmk2p1 = len(rep)
    l = []
    while len(l)*nmk2p1 < n:
        l.append(rep)
    ans = ''.join(l)[:n]
    return ans

def check(s):
    n = len(s)
    d = {}
    for l in range(1, n):
        for i in range(n-l+1):
            needle = s[i:i+l]
            d[needle] = d.get(needle, 0) + 1
    skv = sorted(d.items(), key=lambda (k, _): len(k))
    for s, v in skv:
        if v == 1:
            return len(s)
    return n

def is_periodic(s):
    for t in range(1, len(s)-1):
        rep = s[:t]
        n_reps = len(s)//t
        test = rep*n_reps + rep[:len(s)-t*n_reps]
        if test == s:
            return True
    return False

def is_01periodic(s):
    t = 0
    for i, e in enumerate(s, start=1):
        if e == '1':
            t = i
            break
    if t == 0:
        return False

    rep = s[:t]
    n_reps = len(s)//t
    test = rep*n_reps + rep[:len(s)-t*n_reps]
    return test == s

def find_01period(s):
    t = None
    for i, e in enumerate(s, start=1):
        if e == '1':
            t = i
            break
    if t == None:
        return None

    rep = s[:t]
    n_reps = len(s)//t
    test = rep*n_reps + rep[:len(s)-t*n_reps]
    return t if test == s else None

def research():
    n = 13
    d = [[] for _ in range(n+1)]
    for i in range(2**n):
        b = bin(i)[2:]
        popcnt = sum([1 if c == '1' else 0 for c in b])
        bb = '0'*(n-len(b)) + b
        ch = check(bb)
        #if ch < n//2 and popcnt != ch:
        #    continue
        if not is_01periodic(bb):
            continue
        d[ch].append(bb)
        #print bb, check(bb)
    for i, e in enumerate(d):
        if (i % 2) != (n % 2):
            continue
        if len(e) > 0:
            print i, [(x, find_01period(x)) for x in e]
            ans = solve_good(n, i)
            ac = check(ans)
            if ac != i:
                print 'Death on', n, i, ans, ac

def main():
    #research()
    xs = [int(x) for x in raw_input().strip().split()]
    print solve_good(*xs)

if '__main__'==__name__:
    main()
