#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ii = pair<int, int>;
using vb = vector<bool>;
using vi = vector<int>;
using vll = vector<ll>;
using vvi = vector<vi>;
using vvll = vector<vll>;
using vii = vector<ii>;
const ll MOD = 1000000007;
const int INF = 1000000000;
const double PI = 3.14159265358979323846;
int main() {
  ios_base::sync_with_stdio(false);
  int n, m;
  cin >> n >> m;
  if (max(n, m) > 1 && max(n, m) < 4 && min(n, m) < 3) {
    cout << "NO\n";
    return 0;
  }
  cout << "YES\n";
  if (min(n, m) == 1) {
    int x = max(n, m);
    for (int i = 2; i <= max(n, m); i += 2) cout << i << (n < m ? " " : "\n");
    for (int i = 1; i <= max(n, m); i += 2) cout << i << (n < m ? " " : "\n");
    return 0;
  }
  bool t = false;
  if (n > m) {
    t = true;
    swap(n, m);
  }
  vvi a(n, vi(m));
  for (int i = 0; i < n; ++i) {
    int r = i, c = 0;
    for (int j = 0; j < m; ++j, r = (r + 1) % n, c = (c + 1) % m)
      a[r][c] = (t ? (j + i * 2) % m * n + i : (j + i * 2) % m + i * m) + 1;
  }
  for (int i = 0, _i = (t ? m : n); i < _i; ++i) {
    for (int j = 0, _j = (t ? n : m); j < _j; ++j)
      cout << a[t ? j : i][t ? i : j] << " ";
    cout << endl;
  }
}
