Problem5286--约分

5286: 约分

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

如果一个分数的分子小于分母,我们称之为真分数,反之则为假分数。
OJ 管理员只认识真分数和整数,请你将题目当中给出的分数进行处理:
  • 如果它是一个真分数,不做任何处理;
  • 如果它是一个假分数,并且分子是分母的倍数,则转化为对应的整数,例如 $\frac{6}{3} = 2$;
  • 如果它是一个假分数,并且分子不是分母的倍数,则转化为对应的带分数,$\frac{7}{3} = 2\frac{1}{3}$;
转换结束后,还需要进行约分,保证分子分母互质,即分子分母没有除了 1 之外的公共因数,例如 $\frac{4}{6} = \frac{4 \div 2}{6 \div 2} = \frac{2}{3}$,分子分母不互质,需要约分。

Input

输入共一行,为两个空格隔开的整数 a, b,表示该分数的分子和分母。

Output

输出共一行,为 1 个,2 个空格隔开的或 3 个空格隔开的整数,对应处理完成的整数,真分数的分子、分母,或带分数的整数部分、分子、分母。

Sample 1 Input

2 5

Sample 1 Output

2 5

HINT

【样例1说明】
真分数,不做处理直接输出,分子分母互质。
【样例2】
输入 
120 100
输出
1 1 5
样例2说明
需要转换为带分数,并约分。
$\frac{120}{100} = 1\frac{20}{100} = 1\frac{20 \div 20}{100 \div 20} = 1\frac{1}{5}$
【数据范围】
1 ≤ a, b ≤ 200
【特别提醒】
如果不会写最小公倍数,可以使用 STL 的 __gcd() 函数。

Source/Category