# 3 3 1 1

# 100
# 010
# 001

# 3 3 1 0

# 100
# 100
# 100

# 4 4 2 1
# 1100
# 1100
# 1100
# 0011

# 4 3 1 1

# 1000
# 1000
# 0111

# ……あ。全部0→左側A列を逆転させる→下側B列を逆転させる　で構成可能だ。

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

for _ in range(h-b):
    print('1'*a + '0'*(w-a))
for _ in range(b):
    print('0'*a + '1'*(w-a)) h, w, a, b = list(map(int, input().split())) h list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split w a b 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 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 a, b = list(map(int, input().split())) list(map(int, input().split())) a h, w, a, b = list(map(int, input().split())) list(map(int, input().split())) h b = list(map(int, input().split())) list(map(int, input().split())) b w, a, b = list(map(int, input().split())) list(map(int, input().split())) w
# 3 3 1 1

# 100
# 010
# 001

# 3 3 1 0

# 100
# 100
# 100

# 4 4 2 1
# 1100
# 1100
# 1100
# 0011

# 4 3 1 1

# 1000
# 1000
# 0111

# ……あ。全部0→左側A列を逆転させる→下側B列を逆転させる　で構成可能だ。

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

for _ in range(h-b):
    print('1'*a + '0'*(w-a))
for _ in range(b):
    print('0'*a + '1'*(w-a))
