def solve(h, w, a, b):
    A = [[0]*w for _ in range(h)]
    for r in range(b):
        for c in range(a):
            A[r][c] = 1
    for r in range(b, h):
        for c in range(a, w):
            A[r][c] = 1
    return "\n".join(["".join(map(str, A[r])) for r in range(h)])

h, w, a, b = map(int, input().split())
print(solve(h, w, a, b)) def solve(h, w, a, b):
    A = [[0]*w for _ in range(h)]
    for r in range(b):
        for c in range(a):
            A[r][c] = 1
    for r in range(b, h):
        for c in range(a, w):
            A[r][c] = 1
    return "\n".join(["".join(map(str, A[r])) for r in range(h)]) solve [0]*w for _ in range(h) for _ in range(h) _ range(h) range h for _ in range(h) [0]*w [0] 0 w A = [[0]*w for _ in range(h)] A [[0]*w for _ in range(h)] for r in range(b):
        for c in range(a):
            A[r][c] = 1
     r range(b) range b for c in range(a):
            A[r][c] = 1
     c range(a) range a A[r][c] = 1 A[r][c] [r] A r c 1 for r in range(b, h):
        for c in range(a, w):
            A[r][c] = 1
     r range(b, h) range b h for c in range(a, w):
            A[r][c] = 1
     c range(a, w) range a w A[r][c] = 1 A[r][c] [r] A r c 1 "".join(map(str, A[r])) for r in range(h) for r in range(h) r range(h) range h for r in range(h) "".join(map(str, A[r])) "".join "" join map(str, A[r]) map str A[r] A r return "\n".join(["".join(map(str, A[r])) for r in range(h)]) "\n".join(["".join(map(str, A[r])) for r in range(h)]) "\n".join "\n" join ["".join(map(str, A[r])) for r in range(h)] h h w w a a b b h, w, a, b = map(int, input().split()) h map(int, input().split()) map int input().split() ().split () input split w a b print(solve(h, w, a, b)) print solve(h, w, a, b) solve h w a b def solve(h, w, a, b):
    A = [[0]*w for _ in range(h)]
    for r in range(b):
        for c in range(a):
            A[r][c] = 1
    for r in range(b, h):
        for c in range(a, w):
            A[r][c] = 1
    return "\n".join(["".join(map(str, A[r])) for r in range(h)]) def solve(h, w, a, b):
    A = [[0]*w for _ in range(h)]
    for r in range(b):
        for c in range(a):
            A[r][c] = 1
    for r in range(b, h):
        for c in range(a, w):
            A[r][c] = 1
    return "\n".join(["".join(map(str, A[r])) for r in range(h)]) solve h, w, a, b = map(int, input().split()) map(int, input().split()) h w, a, b = map(int, input().split()) map(int, input().split()) w b = map(int, input().split()) map(int, input().split()) b a, b = map(int, input().split()) map(int, input().split()) a
def solve(h, w, a, b):
    A = [[0]*w for _ in range(h)]
    for r in range(b):
        for c in range(a):
            A[r][c] = 1
    for r in range(b, h):
        for c in range(a, w):
            A[r][c] = 1
    return "\n".join(["".join(map(str, A[r])) for r in range(h)])

h, w, a, b = map(int, input().split())
print(solve(h, w, a, b))