#AG0207. 倒水

倒水

题目描述

给你两个容量分别为 AABB 的罐子。可以执行以下操作:

  • FILL(i)FILL(i) 从龙头处填充罐 i(1i2)i(1≤i≤2)
  • DROP(i)DROP(i) 将罐 ii 的水全部倒掉;
  • POUR(i,j)POUR(i,j) 从罐 ii 倒入罐 jj;在这个操作之后,要么罐 jj 是满的(并且可能有一些水留在罐 ii 中),要么罐 ii 是空的(并且它的所有内容物已经移动到罐 jj 中)。

编写一个程序,找出最少的操作序列,使得其中一个罐中可以正好存放 CC 升水。

输入格式

第一行也是唯一一行是数字 A,B,CA,B,C。这些都是 11100100 之间的整数,Cmax(A,B)C≤max(A,B)

输出格式

输出的第一行必须包含操作序列长度KK。以下KK行必须分别描述一个操作。如果有几个最小长度的序列,请输出其中的任意一个。如果无法达到所需的结果,请输出一行impossible

样例

3 5 4
6
FILL(2)
POUR(2,1)
DROP(1)
POUR(2,1)
FILL(2)
POUR(2,1)

数据规模