printn = lambda x: print(x,end='')
inn = lambda : int(input())
inl   = lambda: list(map(int, input().split()))
inm   = lambda:      map(int, input().split())
ins = lambda : input().strip()
DBG = True # and False
BIG = 10**18
R = 10**9 + 7

def ddprint(x):
  if DBG:
    print(x)

h,w,a,b = inm()
for i in range(b):
    print('0'*a+'1'*(w-a))
for i in range(h-b):
    print('1'*a+'0'*(w-a)) printn = lambda x: print(x,end='') printn lambda x: print(x,end='') print(x,end='') print x end='' end '' x inn = lambda : int(input()) inn lambda : int(input()) int(input()) int input() input inl   = lambda: list(map(int, input().split())) inl lambda: list(map(int, input().split())) list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split inm   = lambda:      map(int, input().split()) inm lambda:      map(int, input().split()) map(int, input().split()) map int input().split() ().split () input split ins = lambda : input().strip() ins lambda : input().strip() input().strip() ().strip () input strip DBG = True DBG True BIG = 10**18 BIG 10**18 10 18 R = 10**9 + 7 R 10**9 + 7 10**9 10 9 7 def ddprint(x):
  if DBG:
    print(x) ddprint if DBG:
    print(x) DBG print(x) print x x x h,w,a,b = inm() h inm() inm w a b for i in range(b):
    print('0'*a+'1'*(w-a)) i 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 i in range(h-b):
    print('1'*a+'0'*(w-a)) i 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 ins = lambda : input().strip() lambda : input().strip() ins h,w,a,b = inm() inm() h printn = lambda x: print(x,end='') lambda x: print(x,end='') printn inl   = lambda: list(map(int, input().split())) lambda: list(map(int, input().split())) inl R = 10**9 + 7 10**9 + 7 R a,b = inm() inm() a inn = lambda : int(input()) lambda : int(input()) inn DBG = True True DBG w,a,b = inm() inm() w b = inm() inm() b BIG = 10**18 10**18 BIG inm   = lambda:      map(int, input().split()) lambda:      map(int, input().split()) inm def ddprint(x):
  if DBG:
    print(x) def ddprint(x):
  if DBG:
    print(x) ddprint
printn = lambda x: print(x,end='')
inn = lambda : int(input())
inl   = lambda: list(map(int, input().split()))
inm   = lambda:      map(int, input().split())
ins = lambda : input().strip()
DBG = True # and False
BIG = 10**18
R = 10**9 + 7

def ddprint(x):
  if DBG:
    print(x)

h,w,a,b = inm()
for i in range(b):
    print('0'*a+'1'*(w-a))
for i in range(h-b):
    print('1'*a+'0'*(w-a))
