编程题
### 问题描述
可可正在设计一个游戏棋盘,棋盘是一个 $N$ 行 $M$ 列的矩阵,每个格子上有一个不同的坐标对 $(i, j)$,其中 $1 \leq i \leq N$,$1 \leq j \leq M$。棋盘设计得非常特别,无论如何横向或纵向循环移动格子,总能找到至少一个格子,其坐标对 $(i, j)$ 与包含的数字对相匹配。游戏设计要求验证,给定的 $N$ 行 $M$ 列是否能构成这样一个“完美匹配棋盘”。
### 输入格式
输入包含两个整数 $N$ 和 $M$,代表棋盘的行数和列数。
### 输出格式
如果不能构成“完美匹配棋盘”,输出一个整数 $0$。
如果可以,首先输出一个整数 $1$,然后输出 $N$ 行,每行 $2M$ 个整数,代表棋盘上每个格子的坐标对。
### 样例输入
```
2 4
```
### 样例输出
```
1
1 1 2 2 1 2 2 3
1 3 2 4 1 4 2 1
```
### 评测数据规模
- $1 \leq N, M \leq 300$