Alice和Bob又开始玩取石子游戏。游戏规则如下:有 堆石子,每堆石子有
颗石子。玩家轮流操作,每一次操作可以选择任意一堆非空的石子,从这堆石子中取走任意数量(非0)的石子,当一名玩家不能操作时则视为失败。
这次,他们准备连续玩 天,每天一局游戏。初始时,没有任何一堆石子。接下来每一天开始时,都会发生一件事,然后他们再开始玩游戏,每局游戏都是Alice先手。自从上次和Alice玩游戏后,Bob觉得自己被欺骗了,因此这次他想靠作弊获胜。在每次游戏之前,Bob都会从目前已有的石子堆中扔掉一些堆,然后保证自己必胜。游戏结束后,Bob又会把扔掉的那些石子堆放回原位。
在每一天开始时,会发生接下来两件事的其中一件:
" ",表示Alice把一堆包含
颗石子的石子堆放到最右边,这需要Bob花费
的代价来扔掉这堆石子。
" ",表示Alice自己扔掉了最右边的那堆石子,保证这堆石子一定存在。
你是Bob最好的朋友,Bob希望你帮他寻找一种最优方案,让Bob以最小的代价来保证自己每局游戏的胜利。因为Bob总是可以扔掉所有石子堆来保证自己胜利,所以一定有解。
第一行输入一个整数
,表示他们要玩游戏的天数。
接下来
行,每行代表每一天发生的事件,格式已由题目给出。
保证"
"操作个数最多有
。
输出行,每行一个整数,第
个整数表示Bob至少需要花费多少代价来让自己在第
天的游戏中获胜。