XOR сума#8647

XOR сума

1 секунда
128 мегабайтів
Складна

Вам дано масив з чисел, кожне з яких має біт: a_1, a_2, \ldots, a_n. Ваше завдання — обчислити суму

prb8647.gif

де операція a + b означає побітове виключне АБО (XOR) чисел та . Оскільки результат може бути дуже великим, виведіть його за модулем .

Вхідні дані

У першому рядку задано три цілі числа , , (1 \le n, k, n \times k \le 300\ 000, 1 \le x \le 3) — довжина масиву, кількість біт у числах, і ступінь, у яку підносяться значення виключного АБО (XOR).

У наступних рядках наведені елементи масиву. У -му з них знаходиться рядок s_0, s_1, \ldots, s_{k-1}, що складається із символів «» та «». Тоді

prb8647_1.gif

Вихідні дані

Виведіть одне число — остачу від ділення суми -их ступенів виключного АБО (XOR) для всіх пар чисел у масиві на .

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading

Примітка

У першому тесті масив містить числа [5, 4, 4], і шукана сума дорівнює (5 \mathrm{\ xor}\ 4) + (5 \mathrm{\ xor}\ 4) + (4 \mathrm{\ xor}\ 4) = 1 + 1 + 0 = 2.

У другому тесті масив містить числа , і шукана сума дорівнює (61 \mathrm{\ xor}\ 38)^3 = 27^3 = 19683.