H, W, A, B = map(int, input().split())
ans = []
for i in range(H):
    if i < B:
       row = [1] * A
       row.extend([0] * (W - A))
    else:
        row = [0] * A
        row.extend([1] * (W - A))
    ans.append(row)
for row in ans:
    print(*row, sep='') H, W, A, B = map(int, input().split()) H map(int, input().split()) map int input().split() ().split () input split W A B ans = [] ans [] for i in range(H):
    if i < B:
       row = [1] * A
       row.extend([0] * (W - A))
    else:
        row = [0] * A
        row.extend([1] * (W - A))
    ans.append(row) i range(H) range H if i < B:
       row = [1] * A
       row.extend([0] * (W - A))
    else:
        row = [0] * A
        row.extend([1] * (W - A))
     i < B i B row = [1] * A row [1] * A [1] 1 A row.extend([0] * (W - A)) row.extend row extend [0] * (W - A) [0] 0 W - A W A row = [0] * A row [0] * A [0] 0 A row.extend([1] * (W - A)) row.extend row extend [1] * (W - A) [1] 1 W - A W A ans.append(row) ans.append ans append row for row in ans:
    print(*row, sep='') row ans print(*row, sep='') print *row row sep='' sep '' B = map(int, input().split()) map(int, input().split()) B W, A, B = map(int, input().split()) map(int, input().split()) W row = [0] * A [0] * A row H, W, A, B = map(int, input().split()) map(int, input().split()) H A, B = map(int, input().split()) map(int, input().split()) A row = [1] * A [1] * A row ans = [] [] ans
H, W, A, B = map(int, input().split())
ans = []
for i in range(H):
    if i < B:
       row = [1] * A
       row.extend([0] * (W - A))
    else:
        row = [0] * A
        row.extend([1] * (W - A))
    ans.append(row)
for row in ans:
    print(*row, sep='')
