Більярдні кулі#7806

Більярдні кулі

1 секунда
64 мегабайти
Дуже складна

У Вас є більярдних кульок та коробок. Кулі пронумеровані від до , а коробки — від до . На кожній більярдній кулі написано деяке ціле число. Вам необхідно розкласти кулі в коробки так, щоб у кожній коробці була принаймні одна куля. Після цього для кожної коробки можна порахувати її значення як суму чисел більярдних кульок, що знаходяться у коробці. Тут — операція побітової кон'юнкції.

Вам необхідно визначити, яку максимальну суму (звичайну) значень коробок Ви можете отримати та остачу від ділення на кількості способів, якими можна отримати максимальну суму. Два способи вважаються різними, якщо згідно з ними принаймні одна кулька знаходиться у різних коробках. Зауважте, що кулі з однаковими числами вважаються різними.

Вхідні дані

У першому рядку два цілі числа та через пробіл. У наступному рядку цілих чисел A_1, \ldots, A_N через пробіл. Тут A_j — ціле число, що написано на -тій кулі.

Вихідні дані

Два цілі числа через пробіл — максимальна сума значень коробок та остача від ділення на кількості способів, якими можна її отримати.

Обмеження

1 \le K \le N \le 100000 (10^5),

0 \le A_j \le 1000000000 (10^9).

Приклади

3 2
4 5 7
11 2

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading

Приклад 3

Loading
Loading

Примітка

У першому прикладі максимальна сума дорівнює 11 = 7 + (5 \text{ AND } 4). Її можна отримати такими способами:

• \{7\} - \{4,5\}

• \{4,5\} - \{7\}