T446890 [主线任务] 分羊圈

题目背景

`Alexander_1` 在路边碰到了一位牧民,牧民正在花大价钱悬赏能帮他解决问题的人。乐于助人(~~贪爱钱财~~)的 `Alexander_1` 急忙跑去帮他(~~其实就是想挣钱~~)。

题目描述

牧民家里有一片草地,草地上有一个 $N$ 行 $M$ 列的矩形围栏。牧民打算把这片草地用栅栏分成若干等份,用以圈养羊。 * 牧民必须把这片草地完全用以圈养羊,不能有剩余。 * 牧民家的羊很挑剔,只能待在正方形的围栏中。所以牧民必须把这片草地分成若干个大小相等的正方形。 * 牧民必须要使分成的正方形数量尽量少,这样可以节省栅栏。 最少要多少个正方形才可以圈养羊?请你帮助 `Alexander_1` 解决这个问题(~~挣钱~~)。

输入格式

输入只包含一行。 第一行含有两个正整数 $N, M$。

输出格式

输出一行一个正整数,表示最少需要的正方形个数。

说明/提示

#### 样例1说明 如果正方形的边长为 $5$,那么长可以分出 $\displaystyle\frac{15}{5}=3$ 个正方形,宽可以分出 $\displaystyle\frac{10}{5}=2$ 个正方形。一共可以分出 $2 \times 3 = 6$ 个。不存在更优的划分方法。 #### 数据说明 * Subtask 0($50$ Points): $1 \le N, M \le 10^9$。 * Subtask 1($10$ Points): $1 \le N, M \le 10^{3072}$ 且满足 $N, M$ 互质。 * Subtask 2($40$ Points): $1 \le N, M \le 10^{3072}$。