#ABC332B. 玻璃杯与马克杯(Glass and Mug)

玻璃杯与马克杯(Glass and Mug)

问题描述

AtCoder公司售卖玻璃杯马克杯两类商品。

高桥有一个容量为 GG 毫升的玻璃杯和一个容量为 MM 毫升的马克杯,其中满足 G<MG<M

初始状态下,玻璃杯和马克杯均为空。执行下述操作 KK 次后,请你分别求出玻璃杯和马克杯中剩余的水量(单位:毫升)。

操作规则(每次操作按以下优先级依次判断执行):

  1. 若玻璃杯处于满水状态(即水量恰好为 GG 毫升),则将玻璃杯中的水全部倒掉;
  2. 若上述条件不满足,但马克杯为空,则将马克杯装满水;
  3. 若上述两个条件均不满足,则将马克杯中的水倒入玻璃杯,直到马克杯为空 玻璃杯被倒满(二者满足其一即停止)。

约束条件

  • 1K1001\leq K\leq 100
  • 1G<M10001\leq G<M\leq 1000
  • GGMMKK 均为整数。

输入格式

输入数据通过标准输入按以下格式给出:

KK GG MM

输出格式

执行 KK 次操作后,输出玻璃杯和马克杯中的水量,两个数值之间用一个空格分隔。

样例输入 1

5 300 500

样例输出 1

200 500

操作执行过程如下(初始时玻璃杯和马克杯均为空):

  1. 给马克杯装满水。此时玻璃杯水量为 0 毫升,马克杯水量为 500 毫升;
  2. 将马克杯的水倒入玻璃杯直至玻璃杯满。此时玻璃杯水量为 300 毫升,马克杯水量为 200 毫升;
  3. 将玻璃杯中的水全部倒掉。此时玻璃杯水量为 0 毫升,马克杯水量为 200 毫升;
  4. 将马克杯的水倒入玻璃杯直至马克杯空。此时玻璃杯水量为 200 毫升,马克杯水量为 0 毫升;
  5. 给马克杯装满水。此时玻璃杯水量为 200 毫升,马克杯水量为 500 毫升。

因此,执行 5 次操作后,玻璃杯剩余 200 毫升水,马克杯剩余 500 毫升水。按照要求输出 200 和 500,中间用空格分隔即可。

样例输入 2

5 100 200

样例输出 2

0 0