有一个叫做塔子哥的人,他非常喜欢喝茶。他有 x 个奇怪的杯子,每个杯子都可以装入一个正整数。塔子哥决定将这些杯子中的个数字压入一个栈中,但他有些规矩:每次他要向栈中压入一个数字,如果这个数字与栈顶数字相同,他就会将这两个数字取出来相加,并且将它们的和的两倍压入栈中。另外,如果栈顶数字等于前面连续的 y 个数字的和(1 ≤ y ≤ x),他也会将这 y 个数字取出来相加,并且将它们的和的两倍压入栈中。当然,如果以上两个规则都不满足,他就不会进行任何操作。现在,塔子哥将一组正整数依次压入栈中,请你告诉他最终栈中剩下的数字是什么。
什么是栈?
栈是一个先进后出的容器,你可以理解为一个只有一边能够打开的羽毛球筒,那我们想把最里面的羽毛球取出来,就得把所有羽毛球都取出来,这就是栈。
我们需要将给出的 n 个正整数逐一加入到栈中,但是在每次入栈时,如果我们发现有以下两种情况,就需要做出相应的操作: