Дано число $$$k$$$. Есть последовательность $$$n$$$-битных бинарных чисел $$$a_1, a_2, \ldots, a_{2^k + 1}$$$. Числа $$$a_1$$$ и $$$a_{2^k + 1}$$$ вам даны, а остальные неизвестны. После этого неизвестные числа заполняются следующим образом за $$$k$$$ шагов:
Можно показать, что этот процесс всегда полностью заполняет все числа.
Так выглядит процесс при $$$k = 2$$$ и $$$n = 3$$$, где изначально $$$a_1 = \texttt{010}, a_5 = \texttt{110}$$$:
Вам необходимо посчитать следующее выражение: $$$x_1 \cdot y_1 + x_2 \cdot y_2 + \ldots + x_{2^k + 1} \cdot y_{2^k + 1}$$$, где $$$x_i$$$ — количество единичных битов в $$$i$$$-м числе, а $$$y_i$$$ — количество нулевых битов в $$$i$$$-м числе.
$$$^{\text{∗}}$$$$$$x \oplus y$$$ означает побитовое исключающее ИЛИ чисел $$$x$$$ и $$$y$$$
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит два целых числа $$$n, k$$$ ($$$1 \leq n \leq 10^5$$$, $$$1 \leq k \leq 30$$$) — длина бинарных чисел и число, определяющее количество бинарных чисел в последовательности.
Вторая строка каждого набора входных данных содержит бинарную строку $$$s$$$ длины $$$n$$$ ($$$s_i \in \{\texttt{0}, \texttt{1}\}$$$) — значение $$$a_1$$$.
Третья строка каждого набора входных данных содержит бинарную строку $$$z$$$ длины $$$n$$$ ($$$z_i \in \{\texttt{0}, \texttt{1}\}$$$) — значение $$$a_{2^k + 1}$$$.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$10^5$$$.
Для каждого набора входных данных выведите одно целое число — значение выражения из условия.
43 20101101 1002 201007 3010101110011010
100312169074016
В первом наборе входных данных процесс был описан в условии. А получившаяся последовательность бинарных чисел равна $$$[\texttt{010}, \texttt{110}, \texttt{100}, \texttt{010}, \texttt{110}]$$$. Тогда выражение в условии равно $$$1 \cdot 2 + 2 \cdot 1 + 1 \cdot 2 + 1 \cdot 2 + 2 \cdot 1 = 10$$$.
Во втором наборе входных данных на первом шаге выполняется $$$a_2 = a_1 \oplus a_3 = \texttt{0} \oplus \texttt{0} = \texttt{0}$$$. А значит, получившаяся последовательность чисел $$$[\texttt{0}, \texttt{0}, \texttt{0}]$$$. Для нее значение выражения равно нулю.