

def read_int():
    return int(input().strip())


def read_ints():
    return list(map(int, input().strip().split(' ')))


def cell(i, j, A, B):
    if (i < A and j < B) or (i >= A and j >= B):
        return '1'
    return '0'


def solve():
    H, W, A, B = read_ints()
    print('\n'.join([
        ''.join([cell(i, j, A, B) for i in range(W)]) for j in range(H)
    ]))



if __name__ == '__main__':
    solve() def read_int():
    return int(input().strip()) read_int return int(input().strip()) int(input().strip()) int input().strip() ().strip () input strip def read_ints():
    return list(map(int, input().strip().split(' '))) read_ints return list(map(int, input().strip().split(' '))) list(map(int, input().strip().split(' '))) list map(int, input().strip().split(' ')) map int input().strip().split(' ') ().strip().split ().strip() ().strip () input strip split ' ' def cell(i, j, A, B):
    if (i < A and j < B) or (i >= A and j >= B):
        return '1'
    return '0' cell if (i < A and j < B) or (i >= A and j >= B):
        return '1'
     (i < A and j < B) or (i >= A and j >= B) i < A and j < B i < A i A j < B j B i >= A and j >= B i >= A i A j >= B j B return '1' '1' return '0' '0' i i j j A A B B def solve():
    H, W, A, B = read_ints()
    print('\n'.join([
        ''.join([cell(i, j, A, B) for i in range(W)]) for j in range(H)
    ])) solve H, W, A, B = read_ints() H read_ints() read_ints W A B ''.join([cell(i, j, A, B) for i in range(W)]) for j in range(H) for j in range(H) j range(H) range H for j in range(H) ''.join([cell(i, j, A, B) for i in range(W)]) ''.join '' join [cell(i, j, A, B) for i in range(W)] print('\n'.join([
        ''.join([cell(i, j, A, B) for i in range(W)]) for j in range(H)
    ])) print '\n'.join([
        ''.join([cell(i, j, A, B) for i in range(W)]) for j in range(H)
    ]) '\n'.join '\n' join [
        ''.join([cell(i, j, A, B) for i in range(W)]) for j in range(H)
    ] if __name__ == '__main__':
    solve() __name__ == '__main__' __name__ '__main__' solve() solve def read_int():
    return int(input().strip()) def read_int():
    return int(input().strip()) read_int def cell(i, j, A, B):
    if (i < A and j < B) or (i >= A and j >= B):
        return '1'
    return '0' def cell(i, j, A, B):
    if (i < A and j < B) or (i >= A and j >= B):
        return '1'
    return '0' cell def solve():
    H, W, A, B = read_ints()
    print('\n'.join([
        ''.join([cell(i, j, A, B) for i in range(W)]) for j in range(H)
    ])) def solve():
    H, W, A, B = read_ints()
    print('\n'.join([
        ''.join([cell(i, j, A, B) for i in range(W)]) for j in range(H)
    ])) solve def read_ints():
    return list(map(int, input().strip().split(' '))) def read_ints():
    return list(map(int, input().strip().split(' '))) read_ints


def read_int():
    return int(input().strip())


def read_ints():
    return list(map(int, input().strip().split(' ')))


def cell(i, j, A, B):
    if (i < A and j < B) or (i >= A and j >= B):
        return '1'
    return '0'


def solve():
    H, W, A, B = read_ints()
    print('\n'.join([
        ''.join([cell(i, j, A, B) for i in range(W)]) for j in range(H)
    ]))



if __name__ == '__main__':
    solve()
