#import sys
#import numpy as np
import math
#import itertools
#from fractions import Fraction
#import itertools
from collections import deque
from collections import Counter
#import heapq
#from fractions  import gcd
#input=sys.stdin.readline
#import bisect
h,w,a,b=map(int,input().split())
ans=[[0]*w for _ in range(h)]
for i in range(h):
    for j in range(w):
        if (i<b and j<a) or (i>=b and j>=a):
            ans[i][j]=1
for i in range(h):
	L=[str(x) for x in ans[i]]
	L="".join(L)
	print(L) import math math from collections import deque from collections import Counter 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 ans=[[0]*w for _ in range(h)] ans [[0]*w for _ in range(h)] for i in range(h):
    for j in range(w):
        if (i<b and j<a) or (i>=b and j>=a):
            ans[i][j]=1 i range(h) range h for j in range(w):
        if (i<b and j<a) or (i>=b and j>=a):
            ans[i][j]=1 j range(w) range w if (i<b and j<a) or (i>=b and j>=a):
            ans[i][j]=1 (i<b and j<a) or (i>=b and j>=a) i<b and j<a i<b i b j<a j a i>=b and j>=a i>=b i b j>=a j a ans[i][j]=1 ans[i][j] [i] ans i j 1 for i in range(h):
	L=[str(x) for x in ans[i]]
	L="".join(L)
	print(L) i range(h) range h str(x) for x in ans[i] for x in ans[i] x ans[i] ans i for x in ans[i] str(x) str x L=[str(x) for x in ans[i]] L [str(x) for x in ans[i]] L="".join(L) L "".join(L) "".join "" join L print(L) print L h,w,a,b=map(int,input().split()) map(int,input().split()) h w,a,b=map(int,input().split()) map(int,input().split()) w ans=[[0]*w for _ in range(h)] [[0]*w for _ in range(h)] ans a,b=map(int,input().split()) map(int,input().split()) a b=map(int,input().split()) map(int,input().split()) b L=[str(x) for x in ans[i]] [str(x) for x in ans[i]] L L="".join(L) "".join(L) L
#import sys
#import numpy as np
import math
#import itertools
#from fractions import Fraction
#import itertools
from collections import deque
from collections import Counter
#import heapq
#from fractions  import gcd
#input=sys.stdin.readline
#import bisect
h,w,a,b=map(int,input().split())
ans=[[0]*w for _ in range(h)]
for i in range(h):
    for j in range(w):
        if (i<b and j<a) or (i>=b and j>=a):
            ans[i][j]=1
for i in range(h):
	L=[str(x) for x in ans[i]]
	L="".join(L)
	print(L)