倒酒
题目描述
Winy是一家酒吧的老板,他的酒吧提供两种体积的啤酒,$a$ ml 和 $b$ ml,分别使用容积为 $a$ ml 和 $b$ ml 的酒杯来装载。
酒吧的生意并不好。Winy 发现酒鬼们都非常穷。有时,他们会因为负担不起 $a$ ml 或者 $b$ ml 啤酒的消费,而不得不离去。因此,Winy 决定出售第三种体积的啤酒(较小体积的啤酒)。
Winy 只有两种杯子,容积分别为 $a$ ml 和 $b$ ml,而且啤酒杯是没有刻度的。他只能通过两种杯子和酒桶间的互相倾倒来得到新的体积的酒。
为了简化倒酒的步骤,Winy 规定:
1. $a≥b$;
2. 酒桶容积无限大,酒桶中酒的体积也是无限大(但远小于桶的容积);
3. 只包含三种可能的倒酒操作:
1. 将酒桶中的酒倒入容积为 $b$ ml 的酒杯中;
2. 将容积为 $a$ ml 的酒杯中的酒倒入酒桶;
3. 将容积为 $b$ ml 的酒杯中的酒倒入容积为 $a$ ml 的酒杯中。
4. 每次倒酒必须把杯子倒满或把被倾倒的杯子倒空。
Winy希望通过若干次倾倒得到容积为 $a$ ml 酒杯中剩下的酒的体积尽可能小,他请求你帮助他设计倾倒的方案。
输入输出格式
输入格式
输入共一行两个整数 $a$ 和 $b$,满足 $0<b≤a≤10^9$。
输出格式
第一行一个整数 $c$,表示可以得到的酒的最小体积。
第二行两个整数 $P_a$ 和 $P_b$(中间用一个空格分隔),分别表示从体积为 $a$ ml 的酒杯中倒出酒的次数和将酒倒入体积为 $b$ ml 的酒杯中的次数。
若有多种可能的 $P_a,P_b$ 满足要求,那么请输出 $P_a$ 最小的一个。若在 $P_a$ 最小的情况下,有多个 $P_b$ 满足要求,请输出 $P_b$ 最小的一个。
输入输出样例
输入样例 #1
5 3
输出样例 #1
1
1 2
说明
### 样例解释
倾倒的方案为:
1. 桶 $\to$ B 杯;
2. B 杯 $\to$ A 杯;
3. 桶 $\to$ B 杯;
4. B 杯 $\to$ A 杯;
5. A 杯 $\to$ 桶;
6. B 杯 $\to$ A 杯。