编程题
矩阵翻硬币
### 题目描述
小明先把硬币摆成了一个 $n$ 行 $m$ 列的矩阵。
随后,小明对每一个硬币分别进行一次 $Q$ 操作。
对第 x 行第 y 列的硬币进行 $Q$ 操作的定义:将所有第 $i\times x$ 行,第 $j\times y$ 列的硬币进行翻转。
其中 $i$ 和 $j$ 为任意使操作可行的正整数,行号和列号都是从 1 开始。
当小明对所有硬币都进行了一次 $Q$ 操作后,他发现了一个奇迹:所有硬币均为正面朝上。
小明想知道最开始有多少枚硬币是反面朝上的。于是,他向他的好朋友小 M 寻求帮助。
聪明的小 M 告诉小明,只需要对所有硬币再进行一次 $Q$ 操作,即可恢复到最开始的状态。然而小明很懒,不愿意照做。于是小明希望你给出他更好的方法。帮他计算出答案。
### 输入描述
输入数据包含一行,两个正整数 $n, m$,含义见题目描述。
其中,$n、m \leq 10^{1000}$。
### 输出描述
输出一个正整数,表示最开始有多少枚硬币是反面朝上的。
### 输入输出样例
#### 示例
> 输入
````txt
2 3
```txt
>输出
```txt
1
````