bzoj#P3689. 异或之

异或之

描述

给定长度为 nn 的序列 aa 和一个大小为 n×(n1)2\dfrac {n\times(n-1)} {2} 的可重集合 SS,由如下方式构成。

S={xx=aiaj,1i<n,i<jn}S=\{x|x=a_i\oplus a_j,1\le i\lt n,i\lt j\le n\}

换言之,就是将所有 1i<jn1\le i\lt j\le nai,aja_i,a_j 异或起来的数得到的集合。

你需要求出 SS 的前 kk 小元素。

输入

第一行 22 个正整数 n,kn,k,如题所述。

以下 nn 行,每行一个非负整数表示 aia_i

输出

共一行 kk 个数,表示前 kk 小的数。

4 5
1
1
3
4
0 2 2 5 5

范围

$1\le n\le10^5,1\le k\le\min(2.5\times10^5,\dfrac {n\times(n+1)} {2}),0\le a_i\lt2^{31}$