Mirko 有 $R$ 个红苹果和 $G$ 个绿苹果,他想把这些苹果分给一些朋友,使得每个人分到的红苹果数量相同,分到的绿苹果数量也相同。Mirko 自己不喜欢吃苹果,所以他不想在分完后剩下任何苹果。
例如,如果 Mirko 有 4 个红苹果和 8 个绿苹果,他有以下三种分配方式:
- 一个朋友分到全部 4 个红苹果和 8 个绿苹果;
- 两个朋友每人分到 2 个红苹果和 4 个绿苹果;
- 四个朋友每人分到 1 个红苹果和 2 个绿苹果。
编写一个程序,输出 Mirko 所有可能的苹果分配方式。假设 Mirko 有无限个可以分苹果的朋友。
输入格式
第一行包含两个由空格隔开的正整数 $R$ 和 $G$($1 \le R, G \le 1\,000\,000\,000$),分别表示红苹果和绿苹果的数量。
输出格式
对于每种可能的分配方案,在一行中输出三个整数 $N$、$X$ 和 $Y$。其中 $N$ 是分到苹果的朋友数量,$X$ 和 $Y$ 分别表示每个人分到的红苹果和绿苹果的数量。
每种分配方案必须恰好输出一次。你可以以任意顺序输出这些方案。
样例
输入样例 1
4 8
输出样例 1
1 4 8 2 2 4 4 1 2
输入样例 2
15 12
输出样例 2
3 5 4 1 15 12
输入样例 3
42 105
输出样例 3
1 42 105 3 14 35 7 6 15 21 2 5