#設定
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10**7)

#ライブラリインポート
from collections import deque
import bisect
from heapq import heappop,heappush
from fractions import gcd
from copy import deepcopy

#入力受け取り
def getlist():
	return list(map(int, input().split()))

#処理内容
def main():
	H, W, A, B = getlist()
	for i in range(B):
		print("0" * A + "1" * (W - A))
	for i in range(H - B):
		print("1" * A + "0" * (W - A))


if __name__ == '__main__':
	main() import sys sys input = sys.stdin.readline input sys.stdin.readline sys.stdin sys stdin readline sys.setrecursionlimit(10**7) sys.setrecursionlimit sys setrecursionlimit 10**7 10 7 from collections import deque import bisect bisect from heapq import heappop,heappush from fractions import gcd from copy import deepcopy def getlist():
	return list(map(int, input().split()))

#処理内容 getlist return list(map(int, input().split())) list(map(int, input().split())) list map(int, input().split()) map int input().split() ().split () input split def main():
	H, W, A, B = getlist()
	for i in range(B):
		print("0" * A + "1" * (W - A))
	for i in range(H - B):
		print("1" * A + "0" * (W - A)) main H, W, A, B = getlist() H getlist() getlist W A B for i in range(B):
		print("0" * A + "1" * (W - A))
	 i range(B) range 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 for i in range(H - B):
		print("1" * A + "0" * (W - A)) i range(H - B) range H - B H 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 if __name__ == '__main__':
	main() __name__ == '__main__' __name__ '__main__' main() main def getlist():
	return list(map(int, input().split()))

#処理内容 def getlist():
	return list(map(int, input().split()))

#処理内容 getlist input = sys.stdin.readline sys.stdin.readline input def main():
	H, W, A, B = getlist()
	for i in range(B):
		print("0" * A + "1" * (W - A))
	for i in range(H - B):
		print("1" * A + "0" * (W - A)) def main():
	H, W, A, B = getlist()
	for i in range(B):
		print("0" * A + "1" * (W - A))
	for i in range(H - B):
		print("1" * A + "0" * (W - A)) main
#設定
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10**7)

#ライブラリインポート
from collections import deque
import bisect
from heapq import heappop,heappush
from fractions import gcd
from copy import deepcopy

#入力受け取り
def getlist():
	return list(map(int, input().split()))

#処理内容
def main():
	H, W, A, B = getlist()
	for i in range(B):
		print("0" * A + "1" * (W - A))
	for i in range(H - B):
		print("1" * A + "0" * (W - A))


if __name__ == '__main__':
	main()