印尼巴厘岛的公路上有许多的雕塑,我们来关注它的一条主干道。
在这条主干道上一共有 N 座雕塑,为方便起见,我们把这些雕塑从 1 到 N 连续地进行标号,其中第 i 座雕塑的年龄是 Y_i 年。为了使这条路的环境更加优美,政府想把这些雕塑分成若干组,并通过在组与组之间种上一些树,来吸引更多的游客来巴厘岛。
下面是将雕塑分组的规则:
这些雕塑必须被分为恰好 X 组,其中 A \leq X \leq B,每组必须含有至少一个雕塑,每个雕塑也必须属于且只属于一个组。同一组中的所有雕塑必须位于这条路的连续一段上。
当雕塑被分好组后,对于每个组,我们首先计算出该组所有雕塑的年龄和。
计算所有年龄和按位取或的结果。我们这个值把称为这一分组的最终优美度。
请问政府能得到的最小的最终优美度是多少?
备注:将两个非负数 P 和 Q 按位取或是这样进行计算的:
首先把 P 和 Q 转换成二进制。
设 n_P 是 P 的二进制位数,n_Q 是 Q 的二进制位数,M 为 n_P 和 $nQ 中的最大值。P 的二进制表示为 p{M-1}p_{M-2} \dots p_1p0,Q 的二进制表示为 q{M-1}q_{M-2} \dots q_1 q_0,其中 p_i 和 q_i 分别是 P 和 Q 二进制表示下的第 i 位,第 M -1 位是数的最高位,第 0$ 位是数的最低位。
P 与 Q 按位取或后的结果是: $(p{M-1}\mathbin{\mathrm{OR}} q{M-1})(p{M-2}\mathbin{\mathrm{OR}}q{M-2})\dots (p_1\mathbin{\mathrm{OR}} q_1) (p_0\mathbin{\mathrm{OR}}q_0)。其中:0 \mathbin{\mathrm{OR}} 0 = 0$
0 \mathbin{\mathrm{OR}} 1 = 1
1 \mathbin{\mathrm{OR}} 0 = 1
1 \mathbin{\mathrm{OR}} 1 = 1
输入的第一行包含三个用空格分开的整数 N, A, B。
第二行包含 N 个用空格分开的整数 Y_1, Y_2, \dots, Y_N。
输出一行一个数,表示最小的最终优美度。
6 1 3 8 1 2 1 5 4
11
【样例解释】
将这些雕塑分为 2 组,(8, 1, 2) 和 (1, 5, 4),它们的和是 (11) 和 (10),最终优美度是 (11 \mathbin{\mathrm{OR}} 10) = 11。(不难验证,这也是最终优美度的最小值。)
【数据范围】
子任务 1 (9 分)1 \leq N \leq 20
1 \leq A \leq B \leq N
0 \leq Y_i \leq 1000000000
子任务 2 (16 分)1 \leq N \leq 50
1 \leq A \leq B \leq \min{20, N}
0 \leq Y_i \leq 10
子任务 3 (21 分)1 ≤ N ≤ 100
A = 1
1 \leq B \leq N
0 \leq Y_i \leq 20
子任务 4 (25 分)1 \leq N \leq 100
1 \leq A \leq B \leq N
0 \leq Y_i \leq 1000000000
子任务 5 (29 分)1 \leq N \leq 2000
A = 1
1 \leq B \leq N
0 \leq Y_i \leq 1000000000
APIO