#abc188c. [abc188_c]ABC Tournament

[abc188_c]ABC Tournament

题目描述

2N2^N 名选手参加一场单淘汰编程锦标赛,选手编号从 112N2^N。每位选手的评分为 AiA_i。任意两名选手的评分不同,并且评分较高的选手总是能够战胜评分较低的选手。

锦标赛的形式类似于一棵完美二叉树。具体来说,锦标赛的进行方式如下:

  • 对于从 i=1,2,3,,Ni=1, 2, 3, \dots, N 按顺序选择的每个整数,执行以下操作。
    • 对于在此前未曾输过的每个整数 j(1j2Ni)j (1 \le j \le 2^{N - i}),选出第 (2j1)(2j - 1) 小和第 2j2j 小编号的选手进行比赛。

请找出将会获得第二名的选手的编号,即最终失去冠军的选手。

约束条件

  • 1N161 \le N \le 16
  • 1Ai1091 \le A_i \le 10^9
  • AiA_i 两两不相同
  • 输入中的所有值都是整数。

输入

输入以以下格式从标准输入给出:

NN A1A_1 A2A_2 A3A_3 \dots A2NA_{2^N}

输出

打印将会获得第二名的选手的编号。


示例输入 1

2
1 4 2 5

示例输出 1

2

首先,选手 11 和选手 22 进行比赛,选手 33 和选手 44 进行比赛。根据评分,选手 22 和选手 44 获胜。
然后,选手 22 和选手 44 进行决赛,最终选手 44 获得冠军。
在决赛中失去比赛的选手是选手 22,因此我们应该打印 22


示例输入 2

2
3 1 5 4

示例输出 2

1

首先,选手 11 和选手 22 进行比赛,选手 33 和选手 44 进行比赛。根据评分,选手 11 和选手 33 获胜。
然后,选手 11 和选手 33 进行决赛,最终选手 33 获得冠军。
在决赛中失去比赛的选手是选手 11,因此我们应该打印 11


示例输入 3

4
6 13 12 5 3 7 10 11 16 9 8 15 2 1 14 4

示例输出 3

2