h,w,a,b=map(int,input().split())
l=[[] for i in range(h)]
mode=True
for i in range(h):
  if i>=b:
    mode=False
  for j in range(w):
    if mode:
      if j<a:l[i].append("1")
      else:l[i].append("0")
    else:
      if j<a:l[i].append("0")
      else:l[i].append("1")
for li in l:
  print("".join(li)) h,w,a,b=map(int,input().split()) h map(int,input().split()) map int input().split() ().split () input split w a b [] for i in range(h) for i in range(h) i range(h) range h for i in range(h) [] l=[[] for i in range(h)] l [[] for i in range(h)] mode=True mode True for i in range(h):
  if i>=b:
    mode=False
  for j in range(w):
    if mode:
      if j<a:l[i].append("1")
      else:l[i].append("0")
    else:
      if j<a:l[i].append("0")
      else:l[i].append("1") i range(h) range h if i>=b:
    mode=False
   i>=b i b mode=False mode False for j in range(w):
    if mode:
      if j<a:l[i].append("1")
      else:l[i].append("0")
    else:
      if j<a:l[i].append("0")
      else:l[i].append("1") j range(w) range w if mode:
      if j<a:l[i].append("1")
      else:l[i].append("0")
    else:
      if j<a:l[i].append("0")
      else:l[i].append("1") mode if j<a:l[i].append("1")
      else:l[i].append("0")
     j<a j a if j<a:l[i].append("0")
      else:l[i].append("1") j<a j a for li in l:
  print("".join(li)) li l print("".join(li)) print "".join(li) "".join "" join li mode=False False mode w,a,b=map(int,input().split()) map(int,input().split()) w mode=True True mode 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 l=[[] for i in range(h)] [[] for i in range(h)] l
h,w,a,b=map(int,input().split())
l=[[] for i in range(h)]
mode=True
for i in range(h):
  if i>=b:
    mode=False
  for j in range(w):
    if mode:
      if j<a:l[i].append("1")
      else:l[i].append("0")
    else:
      if j<a:l[i].append("0")
      else:l[i].append("1")
for li in l:
  print("".join(li))