Vladimir 是邻里间最孤独的孩子,没有其他孩子愿意和他一起玩。他的父母为了让他开心,买了一款名为《The Game》的卡牌游戏。这款游戏最多支持 5 名玩家,但也可以进行单人(即单机)模式。
游戏包含 98 张普通牌,标有整数 $2, 3, \dots, 99$。此外,还有 4 张特殊的方向牌。其中两张标有数字 1(后跟一个向上箭头),另外两张标有数字 100(后跟一个向下箭头)。
在游戏初始阶段,将普通牌堆洗匀并正面朝下放置在桌上,作为抽牌堆。将四张方向牌排成一列,两张标有 1 的牌必须放在最上方。每张方向牌的右侧应留有足够的空间,以便在游戏过程中放置普通牌。标有 1 的牌开启一个升序行,而标有 100 的牌开启一个降序行。在单人模式中,玩家从抽牌堆顶依次抽取 8 张牌放入手中。
初始阶段结束后,游戏开始。每回合玩家必须根据以下规则从手中打出两张牌:
- 如果一张牌大于升序行末尾(即最右侧)的牌,则可以将其放置在该行末尾。
- 如果一张牌小于降序行末尾的牌,则可以将其放置在该行末尾。
- 如果一张牌与某行末尾牌的数值之差的绝对值恰好为 10,则该牌可以放置在该行末尾(即使它是较小的牌放在升序行末尾,或较大的牌放在降序行末尾)。此操作称为“倒退技巧”(backwards trick)。注意,由于这条额外规则,升序行中的牌值不一定递增(同理,降序行中的牌值也不一定递减)。
打出两张牌后,玩家应从抽牌堆中依次抽取两张新牌。这标志着回合结束。如果抽牌堆为空,玩家继续以相同方式进行游戏,不再抽牌。当玩家手中没有剩余牌时(此时玩家获胜),或者无法打出手中任何剩余牌时(此时玩家失败),游戏结束。
Vladimir 玩了几次游戏,但并不总能获胜。由于他讨厌失败,你需要编写一个计算机程序来检查抽牌堆并预测游戏结果。这将帮助 Vladimir 决定是否要玩这款游戏。
你应该知道 Vladimir 是一个非常理性且可预测的人。他遵循以下优先级规则进行游戏:
- 如果有一张或多张牌允许他使用“倒退技巧”,他将使用其中最左侧的那张牌。如果该牌可以在不同的行中使用“倒退技巧”,他将使用这些行中位置最靠上的那一行。
- 否则,他会以常规方式打出一张牌。他会选择一张牌以及放置它的行,使得该牌与行末尾牌的数值之差的绝对值最小。如果有几张牌都能达到最小值,他将使用其中最左侧的那张牌。最后,如果对于该牌有多个放置位置的选择,他将选择最靠上的那一行。
当他抽牌时,他会将牌放在手中最右侧的位置。
你的程序需要找出游戏的最终状态。
输入格式
输入的第一行(也是唯一一行)包含 98 个以空格分隔的整数,即集合 $\{2, 3, \dots, 99\}$ 的某种排列,代表初始抽牌堆。牌按从抽牌堆顶到底部的顺序排列。
输出格式
输出包含六行。前四行描述桌上的四行牌。第五行列出玩家手中剩余的牌(如果有),最后一行列出抽牌堆中剩余的牌(如果有)。如果列表为空,请打印一个空行。四行牌和手中的牌应按从左到右的顺序排列,而最后一行(代表抽牌堆剩余部分)应按输入数据中从上到下的顺序排列。请参考样例输出。
样例
输入 1
96 69 40 94 35 7 53 88 10 89 47 37 16 61 24 46 90 6 33 25 63 73 26 81 2 45 77 75 48 57 66 34 59 92 44 11 31 18 9 52 91 50 8 98 5 64 86 62 83 4 19 3 27 97 28 36 23 76 58 30 38 12 39 78 41 56 80 67 70 99 13 42 17 49 84 22 32 29 54 71 51 74 79 95 72 15 87 21 65 68 60 85 55 43 93 20 82 14
输出 1
1 7 10 16 6 9 11 18 31 62 64 83 86 91 92 97 98 99 1 2 5 8 19 23 27 28 30 36 38 39 41 56 58 67 70 76 78 80 84 74 79 95 100 96 94 89 88 69 61 53 47 46 40 37 35 33 26 25 24 34 44 42 22 32 29 17 13 12 4 3 100 90 81 77 75 73 66 63 59 57 52 50 48 45 21 15 49 54 71 51 72 87 65 68 60 85 55 43 93 20 82 14
输入 2
87 31 58 56 82 93 9 68 65 41 26 64 3 11 5 84 24 46 16 30 14 85 52 12 91 75 96 17 47 37 76 69 78 49 25 28 48 81 95 63 34 43 27 74 80 62 53 83 40 71 72 35 23 21 51 66 55 61 67 32 38 29 60 39 4 18 20 77 7 94 59 42 79 10 92 97 57 2 86 33 89 90 88 19 22 99 45 44 73 70 50 6 15 98 54 13 36 8
输出 2
1 9 11 16 24 14 17 26 28 30 31 34 62 74 78 80 81 71 72 83 95 96 97 99 1 3 5 12 25 27 29 38 39 42 59 60 66 67 57 77 79 86 89 90 92 94 98 88 100 93 87 82 68 65 64 58 56 46 41 37 47 43 53 51 61 55 45 44 33 22 20 19 15 13 10 8 6 100 91 85 84 76 75 69 63 52 49 48 40 35 32 23 21 18 7 4 2 73 70 50 54 36
说明
输入和输出包含无法在一张 A4 纸上完整显示的行。如果某行以一个或多个空格开头,则它实际上是上一行的延续。实际数据(请参阅评测系统)不包含这些换行符。