Tim倒酒

Background

Tim是一家酒吧的老板,他的酒吧提供2种体积的啤酒,a ml 和 b ml,分别使用容积为a ml 和 b ml的酒杯来装载。

Description

酒吧的生意并不好。Tim发现酒鬼们都很穷,不像他那么土豪。有时,他们会因为负担不起a ml 或者 b ml酒的消费,而不得不离去。因此,Tim定出手第三种体积的啤酒(较小体积的啤酒)。
Tim只有两种杯子,容积分别为 a ml 和 b ml,而且啤酒杯是没有刻度的。他只能通过两种杯子和酒桶间的互相倾倒来得到新的体积的酒。
倒酒步骤为:
1. 规定a>=b
2. 酒桶容积无限,酒桶中酒体积无限大。
3. 只能包含三种可能的倒酒操作:
o 将酒桶中的酒倒入容积为b ml的酒杯中;
o 将容积为a ml的酒杯中的酒倒入酒桶;
o 将容积为b ml的酒杯中的酒倒入容积为 a ml的酒杯中。
4. 每次倒酒必须把杯子倒满或者把被倾倒的杯子倒空。
Tim希望通过若干次倾倒得到容积为 a ml酒杯中剩下的就体积尽可能小,他请求你帮助他设计倾倒方案。

Format

Input

两个整数a,b。

Output

第一行一个整数,表示可以得到的最小体积的酒。
第二行两个整数Pa和Pb(中间用一个空格分开),分别表示从体积为a ml的酒杯中倒出酒的次数和将酒倒入体积为b ml的酒杯的次数。
若有多种可能的Pa,Pb满足要求,那么请输出Pa最小的。若Pa最小的时候有多个Pb,那么输出Pb最小的。

Sample 1

Input

5 3

Output

1 1 2

Sample explanation

  1. 桶->B;
  2. B->A;
  3. 桶->B;
  4. B->A;
  5. A->桶;
  6. B->A;

Limitation

对于20%的数据,pa,pb总和不超过5
对于60%的数据,pa<=10^8
对于100%的数据,0<b<=a<=10^9

Source

Amorphophallus Orz Group

信息

ID
1053
难度
4
分类
数学 点击显示
标签
递交数
2
已通过
1
通过率
50%
上传者

相关

在下列训练计划中:

AOG题库训练计划