# x.count(1)
def popcount(x)
	m1 = 0x55555555
	m2 = 0x33333333
	m4 = 0x0f0f0f0f
	x -= (x >> 1) & m1
	x = (x & m2) + ((x >> 2) & m2)
	x = (x + (x >> 4)) & m4
	x += x >> 8
	return (x + (x >> 16)) & 0x3f
end

def clist(n, c)
	list = []
	i = 0
	loop do
		len = i.to_s(2).length
		break if len > n
		count = popcount(i)
		if count == c || count == n - c then
			list.push(format("%0#{n}d", i.to_s(2)))
		end
		i = i + 1
	end
	return list
end

# arg
h, w, a, b = gets.chomp.split(" ").map(&:to_i)
results = []
alist = clist(w, a)
blist = clist(h, b)

alist.each do |si|
	# TODO: sort -> prefix
	if si.chars.all? {|j| blist.include?(j) } then
		puts(si)
		break
	end
end