小钾是一名音乐游戏玩家!现在,他正在回顾几年前的一场比赛记录——「G2R2014 "GO BACK 2 YOUR ROOTS"」。在这场比赛中,三名作曲者需要组成一个队伍进行创作,同时每人提交一份作品,共计三个作品参赛。在结束投稿后的展览期间,观众可以自由游玩所有队伍的作品,并为喜欢的作品提交评分。队伍所有作品获得的总分越高,队伍的排名也越靠前。
展览阶段持续了 k 天。一个作品在展览期间共获得了 n 个评分,且按照评分时间升序排序后依次为 a1, a2, ..., an。作品在某一天获得的所有评分是序列中连续的一段 al, al + 1, ..., ar,且当天的影响力值可由下式计算:

其中
为按位与,
为按位或,
为按位异或。一个作品获得的总影响力值,是它在每一天的影响力值的总和。
小钾找到了某个作品在 k 天内的评分,且按照评分时间升序排序后依次为 a1, a2, ..., an。然而由于数据丢失,他并不知道每一个评分具体是在第几天给出的。现在,小钾想知道,在依次为所有评分重新指定一个日期,且每天至少有一个评分后,作品的总影响力值最大可能是多少。请注意日期的指定应当合法:对于 a1, a2, ..., an,它们对应的评分日期非降。
请你编写一个程序,帮小钾解决这个问题。
第一行,两个空格分开的整数 n, k (1 ≤ k ≤ n ≤ 2, 000),含义见题目描述。
第二行,共 n 个整数 ai (0 ≤ ai ≤ 109),代表作品按照评分时间升序排序后的评分。
输出一行一个整数,表示作品可能达到的最大总影响力值。
5 2 3 1 2 5 4
9
7 4 11 45 14 19 19 8 10
94
样例 1 中,一种可能的指定日期为:
。
。作品的总影响力值为 f(1, 2) + f(3, 5) = 2 + 7 = 9。
在 C, C++, Python 3 和 Java 中,按位与、按位或、按位异或这三项操作分别对应了 "&"、"|"、"^" 三个运算符(不含引号)。含义分别为,两个非负整数进行相应操作后,结果中二进制某一位上为 1,当且仅当操作数的同一位上"均为 1"、"某一个为 1"、"恰好只有一个为 1"。
| Name |
|---|


