Time Limit: 1000 MS    Memory Limit: 131072 K 


Description

约翰家里有很多奶牛,最近奶牛们对海淘很感兴趣,自然也就疯狂剁手。可是在错综复杂的交易下,三头奶牛间形成了混乱的债务关系。终于有一天,这三头奶牛,K,D,B决定边啃草 边解决这个问题。But,奶币的真伪检查是一件非常烦的事,So,他们决定在还清债务关系时,交换尽可能少的现金。比如,K欠B 10元,而D和他俩互不相欠。现在假设K只有一张50元, B有3张10元和10张1元,D有3张20元。一种比较直接的做法是:K将50元交给B,而B将他身上的钱找给K,这样一共就会有14张奶币被交换。但这不是最好的做法,最好的做法是: K把50块给D,D再把两张20给K,另一张20给B,而B把一张10块给C,此时只有5张奶币被交换过。 没过多久,他们发现这是一个困难的问题,于是他们找到了你,你能否站上人生巅峰,帮他们解决这一问题呢?

Input

输入数据的第一行是一个case数 对于每组数据: 第一行包括三个整数:x1、x2、x3(-1,000≤x1,x2,x3≤1,000),其中 x1代表K欠B的钱(如 果x1是负数,说明B欠了K的钱) x2代表B欠D的钱(如果x2是负数,说明D欠了B的钱) x3 代表D欠K的钱(如果x3是负数,说明K欠了D的钱) 接下来有三行 每行包括6个自然数: k100,k50,k20,k10,k5,k1 b100,b50,b20,b10,b5,b1 d100,d50,d20,d10,d5,d1 k100表示K拥有的100元奶币张数,b50表示B拥有的50元奶币张数,以此类推。 另外,我们保证有k10+k5+k1≤30,b10+b5+b1≤30,d10+d5+d1≤30,而且三人总共拥有的奶币面值总额不会 超过1,000。

Output

如果债务可以还清,则输出需要交换奶币的最少张数;如果不能还清,则输出“impossible”(不要引号)

Sample Input

2 10 0 0 0 1 0 0 0 0 0 0 0 3 0 10 0 0 3 0 0 0 -10 -10 -10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Sample Output

5 0 hint:对于100%的数据,x1、x2、x3 ≤ |1,000|。