# https://atcoder.jp/contests/agc038/tasks/agc038_a

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

matrix = [[0] * w for _ in range(h)]

for i in range(h):
    for j in range(w):
        if (i < b) ^ (j < a):
            matrix[i][j] = 1

for r in matrix:
    print(''.join(map(str, r))) 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 matrix = [[0] * w for _ in range(h)] matrix [[0] * w for _ in range(h)] for i in range(h):
    for j in range(w):
        if (i < b) ^ (j < a):
            matrix[i][j] = 1 i range(h) range h for j in range(w):
        if (i < b) ^ (j < a):
            matrix[i][j] = 1 j range(w) range w if (i < b) ^ (j < a):
            matrix[i][j] = 1 (i < b) ^ (j < a) i < b i b j < a j a matrix[i][j] = 1 matrix[i][j] [i] matrix i j 1 for r in matrix:
    print(''.join(map(str, r))) r matrix print(''.join(map(str, r))) print ''.join(map(str, r)) ''.join '' join map(str, r) map str r a, b = map(int, input().split()) map(int, input().split()) a h, w, a, b = map(int, input().split()) map(int, input().split()) h b = map(int, input().split()) map(int, input().split()) b matrix = [[0] * w for _ in range(h)] [[0] * w for _ in range(h)] matrix w, a, b = map(int, input().split()) map(int, input().split()) w
# https://atcoder.jp/contests/agc038/tasks/agc038_a

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

matrix = [[0] * w for _ in range(h)]

for i in range(h):
    for j in range(w):
        if (i < b) ^ (j < a):
            matrix[i][j] = 1

for r in matrix:
    print(''.join(map(str, r)))
