#1013. 音乐会巡演(concert)

音乐会巡演(concert)

Background

Special for beginners, ^_^

Description

小C正在组织11月的音乐会巡演。现在小C有若干候选音乐家(数量大于等于巡演需要的音乐家)。不幸的是,许多音乐家在11月的的日程安排大不相同,这导致小C不好安排巡演日程。

于是小C,首先将11 月的每一天按数字1,2,…,30进行编码,然后对每一位音乐家的行程安排按日期进行了【日期编码】,具体编码规则如下:如果该音乐家编码为 L的这一天空闲,则该音乐家这一天的时间编码数字为2​^(30​−L),否则,为0。

对于一组给定的音乐家来说,如果该组中的所有音乐家第L天都空闲,则时间编码数字为2​^(30−L)​,否则,为0。该组的【空闲编码和】是该组所有日期编码的总和,

于是,小C编写了一个计算机调度系统的核心,系统中给出N个音乐家的时间编码表,然后利用系统来安排一个合适的巡演时间表。

小C认为最好的巡演安排应该是这组音乐家的空闲编码总和最大。

Format

Input

第一行包含两个整数N,K (1≤K≤N≤2×10​^5^​)。N 是可用音乐家的数量,K 是参加巡演的音乐家的规定数量。

第二行包含一个由 N 个正整数组成的序列。序列中的每个整数表示一个音乐家的时间表编码。编码按任意顺序列出。

Output

输出一个整数,代表 K 个音乐家的空闲编码值总和的最大值。

Samples

5 2
6 15 9 666 1
10

【样例一解释】 这5个人对应的二进制编码为: 6 110 15 1111 9 1001 666 ‭1010011010 ‬1 1 所以当我们选择第2个人和第4个人时,组成的空闲编码和最大,空闲编码和为(1010)2_2=10

8 4
13 30 27 20 11 30 19 10
18

Limitation

【测试点说明】

对于30%的数据:1≤K≤N≤20

对于60%的数据:1≤N≤2×10​^5^​,1≤K≤20

对于100%的数据:1≤K≤N≤2×10​^5^​。