#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m;
  scanf("%d%d", &n, &m);
  if (n == 1 && m == 1) {
    printf("YES\n1\n");
    return 0;
  }
  if (n == 3 && m == 3) {
    printf("YES\n");
    printf("6 1 8\n7 5 3\n2 9 4\n");
    return 0;
  }
  if (n <= 3 && m <= 3) {
    printf("NO\n");
    return 0;
  }
  int **a = new int *[n + 1];
  int **b = new int *[n + 1];
  for (int i = 1; i <= n; i++) a[i] = new int[m + 1], b[i] = new int[m + 1];
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++) a[i][j] = (i - 1) * m + j;
  if (m == 4) {
    for (int i = 1; i <= n; i++) {
      if (i & 1) {
        int j = 1, e;
        if (m & 1)
          e = m;
        else
          e = m - 1;
        for (int k = e; k > 0; k -= 2, j++) b[i][j] = a[i][k];
        if (m & 1)
          e = m - 1;
        else
          e = m;
        for (int k = e; k > 0; k -= 2, j++) b[i][j] = a[i][k];
      } else {
        int j = 1;
        for (int k = 2; k <= m; k += 2, j++) b[i][j] = a[i][k];
        for (int k = 1; k <= m; k += 2, j++) b[i][j] = a[i][k];
      }
    }
  } else if (n == 4) {
    for (int j = 1; j <= m; j++) {
      if (j & 1) {
        int i = 1, e;
        if (n & 1)
          e = n;
        else
          e = n - 1;
        for (int k = e; k > 0; k -= 2, i++) b[i][j] = a[k][j];
        if (n & 1)
          e = n - 1;
        else
          e = n;
        for (int k = e; k > 0; k -= 2, i++) b[i][j] = a[k][j];
      } else {
        int i = 1;
        for (int k = 2; k <= n; k += 2, i++) b[i][j] = a[k][j];
        for (int k = 1; k <= n; k += 2, i++) b[i][j] = a[k][j];
      }
    }
  } else if (m > 3) {
    for (int i = 1; i <= n; i++) {
      int j = 1, e;
      if (m & 1)
        e = m - !(i & 1);
      else
        e = m - (i & 1);
      for (int k = e; k > 0; k -= 2, j++) b[i][j] = a[i][k];
      if (m & 1)
        e = m - (i & 1);
      else
        e = m - !(i & 1);
      for (int k = e; k > 0; k -= 2, j++) b[i][j] = a[i][k];
    }
  } else {
    for (int j = 1; j <= m; j++) {
      int i = 1, e;
      if (n & 1)
        e = n - !(j & 1);
      else
        e = n - (j & 1);
      for (int k = e; k > 0; k -= 2, i++) b[i][j] = a[k][j];
      if (n & 1)
        e = n - (j & 1);
      else
        e = n - !(j & 1);
      for (int k = e; k > 0; k -= 2, i++) b[i][j] = a[k][j];
    }
  }
  printf("YES\n");
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= m; j++) printf("%d ", b[i][j]);
    printf("\n");
  }
}
