H,W,A,B = map(int,input().split())
if A>=W or B>=H:
  print('No')
else:
  [print(''.join(['0']*(W-A)+['1']*A)) for _ in range(B)]
  [print(''.join(['1']*(W-A)+['0']*A)) for _ in range(H-B)] 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 or B>=H:
  print('No')
else:
  [print(''.join(['0']*(W-A)+['1']*A)) for _ in range(B)]
  [print(''.join(['1']*(W-A)+['0']*A)) for _ in range(H-B)] A>=W or B>=H A>=W A W B>=H B H print('No') print 'No' print(''.join(['0']*(W-A)+['1']*A)) for _ in range(B) for _ in range(B) _ range(B) range B for _ in range(B) print(''.join(['0']*(W-A)+['1']*A)) print ''.join(['0']*(W-A)+['1']*A) ''.join '' join ['0']*(W-A)+['1']*A ['0']*(W-A) ['0'] '0' W-A W A ['1']*A ['1'] '1' A [print(''.join(['0']*(W-A)+['1']*A)) for _ in range(B)] print(''.join(['1']*(W-A)+['0']*A)) for _ in range(H-B) for _ in range(H-B) _ range(H-B) range H-B H B for _ in range(H-B) print(''.join(['1']*(W-A)+['0']*A)) print ''.join(['1']*(W-A)+['0']*A) ''.join '' join ['1']*(W-A)+['0']*A ['1']*(W-A) ['1'] '1' W-A W A ['0']*A ['0'] '0' A [print(''.join(['1']*(W-A)+['0']*A)) for _ in range(H-B)] H,W,A,B = map(int,input().split()) map(int,input().split()) H A,B = map(int,input().split()) map(int,input().split()) A W,A,B = map(int,input().split()) map(int,input().split()) W B = map(int,input().split()) map(int,input().split()) B
H,W,A,B = map(int,input().split())
if A>=W or B>=H:
  print('No')
else:
  [print(''.join(['0']*(W-A)+['1']*A)) for _ in range(B)]
  [print(''.join(['1']*(W-A)+['0']*A)) for _ in range(H-B)]