H,W,A,B=$<.read.split.map(&:to_i)
# H,W,A,B=[5,7,2,3]

if A == 0 && B == 0
    puts 'No'
    exit
elsif A == 0
    if W != 1
        puts 'No'
    else
        puts ([1] * B + [0] * (H-B)).join("\n")
    end
    exit
elsif B == 0
    if H != 1
        puts 'No'
    else
        puts ([1] * A + [0] * (W-A)).join
    end
    exit
end

arr = Array.new(H) { Array.new(W,0) }
line = [1] * B

A.times do |i|
    arr[i][0..B-1] = line
end
line = [1] * (W-B)
(H-A).times do |i|
    arr[A+i][B..W-1] = line
end

puts arr.map {|l| l.join}

# 100
# 011
# 011

# 11000
# 11000
# 00111
# 00111
# 00111

# 11001
# 11001
# 00110
# 00110
# 11001