import java.util.Scanner

object Main extends App {
  val sc = new Scanner(System.in)

  val H = sc.nextInt(); val W = sc.nextInt()
  val h = sc.nextInt(); val w = sc.nextInt()

  if(H % h != 0) {
    println("Yes")
    for (y <- 1 to H) {
      val now = if(y % h == 0) -500 * (h-1) - 1 else 500
      for (x <- 1 to W)
        if (x != W) print(s"$now ")
        else println(now)
    }
  }
  else if (W % w != 0) {
    println("Yes")
    val ar = new Array[Int](W+1)
    for(i <- 1 to W){
      if (i % w == 0)
        ar(i) = -500 * (w-1) - 1
      else
        ar(i) = 500
    }
    for(_ <- 1 to h) {
      ar.slice(1, W).foreach{x => print(x + " ")}
      println(ar(W))
    }
  }
  else {
    println("No")
  }
}
