文理学院程序设计在线练习


跳棋子

Time Limit: 1 Second(s)    Memory Limit: 32 MB

Total Submission(s): 54   Accepted Submission(s): 33
Problem Description

有两副跳棋可以玩,诺诺很高兴。某天,诺诺突然有点恼,把玩着的若干跳棋子扔到地上,跳棋子在地上活蹦乱跳,诺诺又高兴起来了,于是又把棋子捡起来。但有些棋子可能跳到很隐蔽的角落,捡不回来了。这样的事情以后经常发生,于是数棋子就成为家常便饭。我们知道,每副跳棋都有6种颜色的棋子,每种颜色都有10颗棋子。设诺诺有n副完全相同的跳棋(每副棋的6种颜色都一样,设为红、绿、蓝、黑、白、黄,计算输出棋子数、捡棋子、扔棋子都按这个颜色顺序),请你编程计算各种颜色的棋子在诺诺情绪变化之间还各有几颗(至少0颗,至多n*10颗,否则就是出现了错误的输入行)。一开始每副棋子都是完整的。

在过程中,若出现错误的输入行,必须忽略该行输入并输出"impossible"(参看Sample Output)

Input

输入数据的第一行为一个正整数T,表示测试数据的组数。然后输入T组测试数据,每组测试先输入1个整数n(1<n<=10),表示一开始有n副完整的跳棋;然后是若干行输入,每行先输入一个英单词S,取值为"happy"、"angry"、"finish"、"count"之一;"happy"则表示捡回棋子,"angry"则表示扔掉棋子,"finish"则表示本组测试结束,"count"则表示计算并输出各种颜色的棋子数;若S为"happy"或"angry",则在1个空格之后在同一行上输入6个整数,分别表示对应的颜色可能的捡回或扔掉的棋子数,之间也以1个空格间隔(参看Sample Input)。

Output

对于每组测试,对于每个输入的S,如果S为"count"则按描述中的颜色顺序输出各色棋子的数量;如果S为"happy"或"angry",而且出现了错误的输入行则输出"impossible"(同时必须忽略该行输入)。

Sample Input
1
2
angry 1 2 3 4 5 6
count
happy 0 2 3 4 5 6
count
happy 1 2 3 4 5 6
angry 1 2 3 4 5 6
count
finish
Sample Output
19 18 17 16 15 14
19 20 20 20 20 20
impossible
18 18 17 16 15 14
Hint

样例输出的第3行的“impossible”是由于样例输入的第7行“happy 1 2 3 4 5 6”而导致的。

Author

hlj

Source

2011校计算机技能竞赛