H, W, A, B = gets.split.map(&:to_i)

grid = Array.new(H) { Array.new(W, 0) }
column_counter = Hash.new(0)

H.times do |y|
  cnt = 0
  success = false

  W.times do |x|
    next if y > 0 && column_counter[x] >= B

    grid[y][x] = 1
    column_counter[x] += 1
    cnt += 1

    if cnt == A
      success = true
    end

    break if success
  end

  unless success
    puts 'No'
    exit
  end
end

puts grid.map(&:join)
