
def resolve():
    H, W, A, B = map(int, input().split())
    G = [[0] * W for _ in range(H)]

    for _ in range(B):
        print('0' * A + '1' * (W - A))
    for _ in range(H - B):
        print('1' * A + '0' * (W - A))


if __name__ == "__main__":
    resolve() def resolve():
    H, W, A, B = map(int, input().split())
    G = [[0] * W for _ in range(H)]

    for _ in range(B):
        print('0' * A + '1' * (W - A))
    for _ in range(H - B):
        print('1' * A + '0' * (W - A)) resolve H, W, A, B = map(int, input().split()) H map(int, input().split()) map int input().split() ().split () input split W A B [0] * W for _ in range(H) for _ in range(H) _ range(H) range H for _ in range(H) [0] * W [0] 0 W G = [[0] * W for _ in range(H)] G [[0] * W for _ in range(H)] for _ in range(B):
        print('0' * A + '1' * (W - A))
     _ range(B) range B print('0' * A + '1' * (W - A)) print '0' * A + '1' * (W - A) '0' * A '0' A '1' * (W - A) '1' W - A W A for _ in range(H - B):
        print('1' * A + '0' * (W - A)) _ range(H - B) range H - B H B print('1' * A + '0' * (W - A)) print '1' * A + '0' * (W - A) '1' * A '1' A '0' * (W - A) '0' W - A W A if __name__ == "__main__":
    resolve() __name__ == "__main__" __name__ "__main__" resolve() resolve def resolve():
    H, W, A, B = map(int, input().split())
    G = [[0] * W for _ in range(H)]

    for _ in range(B):
        print('0' * A + '1' * (W - A))
    for _ in range(H - B):
        print('1' * A + '0' * (W - A)) def resolve():
    H, W, A, B = map(int, input().split())
    G = [[0] * W for _ in range(H)]

    for _ in range(B):
        print('0' * A + '1' * (W - A))
    for _ in range(H - B):
        print('1' * A + '0' * (W - A)) resolve

def resolve():
    H, W, A, B = map(int, input().split())
    G = [[0] * W for _ in range(H)]

    for _ in range(B):
        print('0' * A + '1' * (W - A))
    for _ in range(H - B):
        print('1' * A + '0' * (W - A))


if __name__ == "__main__":
    resolve()