h,w,a,b=map(int,input().split())
if a>w//2or b>h//2:print('No')
else:
 for i in range(h):t=i<b;print(('0'*(w-a)+'1'*a)*(1-t)+('1'*(w-a)+'0'*a)*t) h,w,a,b=map(int,input().split()) h map(int,input().split()) map int input().split() ().split () input split w a b if a>w//2or b>h//2:print('No')
else:
 for i in range(h):t=i<b;print(('0'*(w-a)+'1'*a)*(1-t)+('1'*(w-a)+'0'*a)*t) a>w//2or b>h//2 a>w//2 a w//2 w 2 b>h//2 b h//2 h 2 for i in range(h):t=i<b;print(('0'*(w-a)+'1'*a)*(1-t)+('1'*(w-a)+'0'*a)*t) i range(h) range h h,w,a,b=map(int,input().split()) map(int,input().split()) h a,b=map(int,input().split()) map(int,input().split()) a b=map(int,input().split()) map(int,input().split()) b w,a,b=map(int,input().split()) map(int,input().split()) w
h,w,a,b=map(int,input().split())
if a>w//2or b>h//2:print('No')
else:
 for i in range(h):t=i<b;print(('0'*(w-a)+'1'*a)*(1-t)+('1'*(w-a)+'0'*a)*t)