#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;

#define PB push_back
#define MP make_pair
#define SZ size()
#define Fr first
#define Sc second
#define si(a) scanf("%d", &a)
#define sl(a) scanf("%I64d", &a)
#define sd(a) scanf("%lf", &a)
#define ss(a) scanf("%s", a)
#define debug(x) cout << #x << ": " << x << endl
#define Fast_IO ios_base::sync_with_stdio(0);cin.tie(0)

typedef long long Long;
typedef pair <int, int> Pii;
///<-------------------------------------------------END OF TEMPLATE-------------------------------------------------->

#define MAX 505
int H, W, h, w, grid[MAX][MAX];

int main() {
   si(H); si(W); si(h); si(w);
   Long sum = 0;
   for(int i = 0; i < H; i++)
      for(int j = 0; j < W; j++) {
         if((i+1) % h == 0 && (j+1) % w == 0) grid[i][j] = -500 * w * h + 499;
         else grid[i][j] = 500;
         sum += grid[i][j];
      }

   if(sum <= 0) {
      puts("No");
   } else {
      puts("Yes");
      for(int i = 0; i < H; i++) {
         for(int j = 0; j < W; j++) {
            if(j) printf(" ");
            printf("%d", grid[i][j]);
         }
         puts("");
      }
   }
}
