Дано множину з цілих чисел. Ви можете обрати з цієї множини різних елементів, щоб сформувати групу. Дві групи вважаються різними, якщо існує хоча б один елемент, який присутній в одній групі, але відсутній в іншій. Наприклад, якщо множина складається з елементів a, b, c, d, і потрібно обрати два елементи, то ab, ac, ad, bc, bd і є всіма коректними та різними групами.
Система групування називається повною, якщо для заданого число різних груп максимально. В цьому прикладі множина \{ab, ac, ad, bc, bd, cd\} утворює повну систему групування.
Для деякої повної системи групування її оцінка (fitness) обчислюється наступним чином:
кожна група вносить вклад, рівний добутку всіх чисел у цій групі;
усі вклади груп сумуються;
підсумкова оцінка визначається як сумарний вклад , де — обмежуючий параметр.
У наведеному вище прикладі, для k = 2, оцінка дорівнює
Якщо k = 1, то оцінка дорівнює
Ваше завдання — визначити повну систему групування, яка дає максимально можливу оцінку.
Кожен тест починається з двох додатних цілих чисел n~(2 \le n \le 1000) і m~(1 \le m < 2^{31}). Наступний рядок містить натуральних чисел, кожне з яких не більше . Останній тест містить n = m = 0 і не обробляється.
Для кожного тесту виведіть в окремому рядку максимально можливу оцінку для системи групування.
Приклад 1