#include <bits/stdc++.h>
int ans[110][110];
int main() {
  int n, m, k, i, in = 0, c;
  scanf("%d%d", &n, &m);
  if (n == 1 && m == 1) {
    puts("1");
    return 0;
  }
  if (n <= 2 && m <= 2) {
    puts("-1");
    return 0;
  }
  if (n == 1 && m == 3) {
    puts("-1");
    return 0;
  }
  if (n == 3 && m == 1) {
    puts("-1");
    return 0;
  }
  if (n == 2 && m == 3) {
    puts("4 1 5\n2 6 3");
    return 0;
  }
  if (n == 3 && m == 2) {
    puts("4 2\n1 6\n5 3");
    return 0;
  }
  if (n == 3 && m == 3) {
    puts("1 4 7\n8 2 5\n6 9 3");
    return 0;
  }
  if (n >= m) {
    c = m;
    m = n;
    n = c;
    in = 1;
  }
  for (k = 1; k <= n; k++) {
    for (i = 1; i <= m; i++) {
      if (i <= m / 2) {
        ans[k][i] = i * 2;
      } else {
        ans[k][i] = (i - m / 2) * 2 - 1;
      }
      ans[k][i] += (k - 1) * m;
    }
  }
  if (!in) {
    for (k = 1; k <= n; k++) {
      for (i = 1; i <= m; i++) {
        printf("%d ", ans[k][i]);
      }
      puts("");
    }
  } else {
    for (k = 1; k <= m; k++) {
      for (i = 1; i <= n; i++) {
        printf("%d ", ans[i][k]);
      }
      puts("");
    }
  }
}
