import sys
sys.setrecursionlimit(10 ** 5 + 10)
def input(): return sys.stdin.readline().strip()

def resolve():
    
    h,w,a,b=map(int,input().split())
    for hi in range(b):
        print('1'*a+'0'*(w-a))
    for hi in range(h-b):
        print('0'*a+'1'*(w-a))
    
resolve() import sys sys sys.setrecursionlimit(10 ** 5 + 10) sys.setrecursionlimit sys setrecursionlimit 10 ** 5 + 10 10 ** 5 10 5 10 def input(): return sys.stdin.readline().strip() input def resolve():
    
    h,w,a,b=map(int,input().split())
    for hi in range(b):
        print('1'*a+'0'*(w-a))
    for hi in range(h-b):
        print('0'*a+'1'*(w-a))
     resolve h,w,a,b=map(int,input().split()) h map(int,input().split()) map int input().split() ().split () input split w a b for hi in range(b):
        print('1'*a+'0'*(w-a))
     hi range(b) range 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 hi in range(h-b):
        print('0'*a+'1'*(w-a))
     hi range(h-b) range h-b h 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 resolve() resolve def input(): return sys.stdin.readline().strip() def input(): return sys.stdin.readline().strip() input def resolve():
    
    h,w,a,b=map(int,input().split())
    for hi in range(b):
        print('1'*a+'0'*(w-a))
    for hi in range(h-b):
        print('0'*a+'1'*(w-a))
     def resolve():
    
    h,w,a,b=map(int,input().split())
    for hi in range(b):
        print('1'*a+'0'*(w-a))
    for hi in range(h-b):
        print('0'*a+'1'*(w-a))
     resolve
import sys
sys.setrecursionlimit(10 ** 5 + 10)
def input(): return sys.stdin.readline().strip()

def resolve():
    
    h,w,a,b=map(int,input().split())
    for hi in range(b):
        print('1'*a+'0'*(w-a))
    for hi in range(h-b):
        print('0'*a+'1'*(w-a))
    
resolve()