#LQ0508. 矩阵翻硬币

矩阵翻硬币

题目描述

小明先把硬币摆成了一个 n 行 m 列的矩阵。

随后,小明对每一个硬币分别进行一次 Q 操作。

对第 x 行第 y 列的硬币进行 Q 操作的定义:将所有第 i×x 行,第 j×y 列的硬币进行翻转。

其中 i 和 j 为任意使操作可行的正整数,行号和列号都是从 1 开始。

当小明对所有硬币都进行了一次 Q 操作后,他发现了一个奇迹:所有硬币均为正面朝上。

小明想知道最开始有多少枚硬币是反面朝上的。于是,他向他的好朋友小 M 寻求帮助。

聪明的小 M 告诉小明,只需要对所有硬币再进行一次 Q 操作,即可恢复到最开始的状态。然而小明很懒,不愿意照做。于是小明希望你给出他更好的方法。帮他计算出答案。

输入描述

输入数据包含一行,两个正整数 n,m,含义见题目描述。

其中,n、m≤101000

输出描述

输出一个正整数,表示最开始有多少枚硬币是反面朝上的。

输入输出样例

示例

输入

2 3

输出

1