XOR сума
Вам дано масив з n чисел, кожне з яких має k біт: a[1]
, a[2]
, ..., a[n]
. Ваше завдання — обчислити суму
де операція a + b означає побітове виключаюче "АБО" (XOR) чисел a та b. Оскільки результат може бути дуже великим, виведіть його за модулем 998 244 353.
Вхідні дані
У першому рядку наведено три цілі числа n, k, x (1 ≤ n, k, n * k ≤ 300 000, 1 ≤ x ≤ 3) — довжина масиву, кількість біт у числах та ступінь, у яку підносяться значення виключаючих "АБО".
У наступних n рядках наведені елементи масиву. У i-му рядку міститься рядок s[0]
, s[1]
, ..., s[k-1]
, що складається з символів "0" та "1". Тоді
Вихідні дані
Виведіть одне число — остачу від ділення суми x-их ступенів виключаючих "АБО" для всіх пар чисел у масиві на 998 244 353.
Приклади
Примітка
У першому тестовому прикладі масив містить числа [5, 4, 4], і шукану суму дорівнює (5 xor 4) + (5 xor 4) + (4 xor 4) = 1 + 1 + 0 = 2.
У другому тестовому прикладі масив містить числа [61, 38], і шукану суму дорівнює (61 xor 38) ^ 3 = 27^3
= 19683.