#include <bits/stdc++.h>
using namespace std;
int arr[110][110];
int N, M;
void print() {
  for (int i = 0; i < N; i++) {
    for (int j = 0; j < M; j++)
      printf("%d%c", arr[i][j], j == M - 1 ? '\n' : ' ');
  }
}
int main() {
  scanf("%d %d", &N, &M);
  if (N == 1 && M == 1) {
    printf("1");
    return 0;
  }
  if (N == 1) {
    if (M < 4) {
      printf("-1");
      return 0;
    } else if (M == 4) {
      printf("3 1 4 2");
      return 0;
    } else {
      for (int i = 1; i <= M; i += 2) {
        printf("%d ", i);
      }
      for (int i = 2; i <= M; i += 2) {
        if (i > 2) printf(" ");
        printf("%d", i);
      }
      return 0;
    }
  }
  if (M == 1) {
    if (N < 4) {
      printf("-1");
      return 0;
    } else if (N == 4) {
      printf("3\n1\n4\n2");
      return 0;
    } else {
      for (int i = 1; i <= N; i += 2) {
        printf("%d\n", i);
      }
      for (int i = 2; i <= N; i += 2) {
        printf("%d\n", i);
      }
      return 0;
    }
  }
  if (N == 2 && M == 2) {
    printf("-1");
    return 0;
  }
  int curr = 1;
  for (int i = 0; i < N; i++) {
    for (int j = 0; j < M; j++) {
      arr[i][j] = curr++;
    }
  }
  for (int j = 1; j < M; j += 2) {
    int temp = arr[0][j];
    for (int i = 0; i < N - 1; i++) {
      arr[i][j] = arr[i + 1][j];
    }
    arr[N - 1][j] = temp;
  }
  print();
}
