#include <bits/stdc++.h>
using namespace std;
int n, m, x, y, z, out[105][105];
bool check() {
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
      if (i) {
        if (abs(out[i][j] - out[i - 1][j]) == 1) {
          return false;
        }
      }
      if (j) {
        if (abs(out[i][j] - out[i][j - 1]) == 1) {
          return false;
        }
      }
    }
  }
  return true;
}
int main() {
  scanf("%d%d", &n, &m);
  if (n < m) {
    if (n == 1) {
      z = 2;
      for (int i = 0; i < m; i++) {
        if (z > m) {
          z = 1;
        }
        out[0][i] = z;
        z += 2;
      }
    } else {
      z = 1;
      for (int i = 0; i < n; i++) {
        x = i;
        y = 0;
        while (y < m) {
          out[x++][y++] = z++;
          x %= n;
        }
      }
    }
    if (check()) {
      for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
          if (j) printf(" ");
          printf("%d", out[i][j]);
        }
        printf("\n");
      }
    } else {
      printf("-1\n");
    }
  } else {
    if (m == 1) {
      z = 2;
      for (int i = 0; i < n; i++) {
        if (z > n) {
          z = 1;
        }
        out[i][0] = z;
        z += 2;
      }
    } else {
      z = 1;
      for (int i = 0; i < m; i++) {
        x = 0;
        y = i;
        while (x < n) {
          out[x++][y++] = z++;
          y %= m;
        }
      }
    }
    if (check()) {
      for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
          if (j) printf(" ");
          printf("%d", out[i][j]);
        }
        printf("\n");
      }
    } else {
      printf("-1\n");
    }
  }
  return 0;
}
