CF241B Friends

Description

You have $ n $ friends and you want to take $ m $ pictures of them. Exactly two of your friends should appear in each picture and no two pictures should contain the same pair of your friends. So if you have $ n=3 $ friends you can take $ 3 $ different pictures, each containing a pair of your friends. Each of your friends has an attractiveness level which is specified by the integer number $ a_{i} $ for the $ i $ -th friend. You know that the attractiveness of a picture containing the $ i $ -th and the $ j $ -th friends is equal to the exclusive-or ( $ xor $ operation) of integers $ a_{i} $ and $ a_{j} $ . You want to take pictures in a way that the total sum of attractiveness of your pictures is maximized. You have to calculate this value. Since the result may not fit in a 32-bit integer number, print it modulo $ 1000000007 $ $ (10^{9}+7) $ .

Input Format

The first line of input contains two integers $ n $ and $ m $ ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF241B/9b22f23dc8d59dbe11b4e44a61cf25e2908e7225.png) — the number of friends and the number of pictures that you want to take. Next line contains $ n $ space-separated integers $ a_{1},a_{2},...,a_{n} $ ( $ 0

Output Format

The only line of output should contain an integer — the optimal total sum of attractiveness of your pictures.