#include <bits/stdc++.h>
using namespace std;
const int N = 107;
int n, m, a[N][N];
bool check(int n, int m) {
  int dx[4] = {-1, 0, 1, 0};
  int dy[4] = {0, 1, 0, -1};
  for (int i = (1); i < (n + 1); ++i)
    for (int j = (1); j < (m + 1); ++j) {
      for (int k = (0); k < (4); ++k) {
        int x = i + dx[k], y = j + dy[k];
        if (x < 1 || x > n || y < 1 || y > m) continue;
        if (abs(a[i][j] - a[x][y]) <= 1) return false;
      }
    }
  return true;
}
void solve() {
  if (n == 1 && m == 1) {
    puts("1");
    return;
  }
  if (max(n, m) <= 2 || (min(n, m) == 1 && max(n, m) <= 3)) {
    puts("-1");
    return;
  }
  if (n == 1 && m == 4) {
    puts("2 4 1 3");
    return;
  }
  if (n == 4 && m == 1) {
    puts("2");
    puts("4");
    puts("1");
    puts("3");
    return;
  }
  if (max(n, m) == 3) {
    if (min(n, m) == 2) {
      if (n == 2) {
        puts("1 3 5");
        puts("4 6 2");
        a[1][1] = 1, a[1][2] = 3, a[1][3] = 5;
        a[2][1] = 4, a[2][2] = 6, a[2][3] = 2;
      } else if (n == 3) {
        puts("1 4");
        puts("3 6");
        puts("5 2");
        a[1][1] = 1, a[1][2] = 4;
        a[2][1] = 3, a[2][2] = 6;
        a[3][1] = 5, a[3][2] = 2;
      }
    }
    if (min(n, m) == 3) {
      puts("1 3 8");
      puts("4 6 2");
      puts("7 9 5");
      a[1][1] = 1, a[1][2] = 3, a[1][3] = 8;
      a[2][1] = 4, a[2][2] = 6, a[2][3] = 2;
      a[3][1] = 7, a[3][2] = 9, a[3][3] = 5;
    }
    assert(check(n, m));
    return;
  }
  bool rev = false;
  if (n < m) swap(n, m), rev = true;
  queue<int> Q;
  for (int i = 1; i <= n * m; i += 2) Q.push(i);
  for (int i = 2; i <= n * m; i += 2) Q.push(i);
  for (int i = (1); i < (n + 1); ++i)
    for (int j = (1); j < (m + 1); ++j) a[i][j] = Q.front(), Q.pop();
  if (rev) {
    for (int i = (1); i < (n + 1); ++i)
      for (int j = (1); j < (i); ++j) swap(a[i][j], a[j][i]);
    swap(n, m);
  }
  for (int i = (1); i < (n + 1); ++i)
    for (int j = (1); j < (m + 1); ++j) printf("%d%c", a[i][j], " \n"[j == m]);
}
int main() {
  scanf("%d%d", &n, &m);
  solve();
  return 0;
}
