#include <bits/stdc++.h>
using namespace std;
int id[233333], bp[233333], cp[233333];
void gen(int n, int* a) {
  int p = 0;
  for (int j = 2; j <= n / 2 * 2; j += 2) a[p++] = j - 1;
  for (int j = 1; j <= n; j += 2) a[p++] = j - 1;
}
map<pair<int, int>, bool> in;
int main() {
  int n, m;
  cin >> n >> m;
  if (n == 1 && m == 1) {
    puts("YES\n1");
    return 0;
  }
  if (min(n, m) == 1 && max(n, m) <= 3) {
    puts("NO");
    return 0;
  }
  gen(n, bp);
  gen(m, cp);
  if (n == 1) {
    puts("YES");
    for (int j = 0; j < m; ++j) printf("%d ", cp[j] + 1);
    return 0;
  }
  if (m == 1) {
    puts("YES");
    for (int j = 0; j < n; ++j) printf("%d\n", bp[j] + 1);
    return 0;
  }
  if (n >= 4 && m >= 4) {
    for (int i = 0; i < n; ++i)
      for (int j = 0; j < m; ++j) id[bp[i] * m + cp[j]] = i * m + j + 1;
    puts("YES");
    for (int i = 0; i < n; ++i, puts(""))
      for (int j = 0; j < m; ++j) printf("%d ", id[i * m + j]);
    return 0;
  }
  if ((n == 2 && m == 3) || (n == 3 && m == 2) || (n == 2 && m == 2)) {
    puts("NO");
    return 0;
  }
  for (int i = 0; i < n; ++i)
    for (int j = 0; j < m; ++j) id[i * m + j] = i * m + j;
  for (int i = 0; i < n; ++i)
    for (int j = 0; j + 1 < m; ++j)
      in[pair<int, int>(i * m + j, i * m + j + 1)] =
          in[pair<int, int>(i * m + j + 1, i * m + j)] = 1;
  for (int i = 0; i + 1 < n; ++i)
    for (int j = 0; j < m; ++j)
      in[pair<int, int>(i * m + j, (i + 1) * m + j)] =
          in[pair<int, int>((i + 1) * m + j, i * m + j)] = 1;
  while (1) {
    random_shuffle(id, id + n * m);
    bool gg = 0;
    for (int i = 0; i < n; ++i)
      for (int j = 0; j + 1 < m; ++j)
        if (in[pair<int, int>(id[i * m + j], id[i * m + j + 1])]) {
          gg = 1;
          goto GG;
        }
    for (int i = 0; i + 1 < n; ++i)
      for (int j = 0; j < m; ++j)
        if (in[pair<int, int>(id[i * m + j], id[(i + 1) * m + j])]) {
          gg = 1;
          goto GG;
        }
  GG:
    if (gg) continue;
    break;
  }
  puts("YES");
  for (int i = 0; i < n; ++i, puts(""))
    for (int j = 0; j < m; ++j) printf("%d ", id[i * m + j] + 1);
  return 0;
}
