B. Бинарный путь
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Дана таблица размера $$$2 \times n$$$, заполненная нулями и единицами. Пусть число, стоящее на пересечении $$$i$$$-й строки и $$$j$$$-го столбца, равно $$$a_{ij}$$$.

В левой верхней клетке $$$(1, 1)$$$ находится кузнечик, который может прыгать только на одну клетку вправо или вниз. Ему нужно добраться до правой нижней клетки $$$(2, n)$$$. Рассмотрим бинарную строку длины $$$n+1$$$, состоящую из чисел, записанных в клетках пути, без изменения их относительного порядка.

Вам необходимо:

  1. Найти лексикографически наименьшую$$$^\dagger$$$ строку, которую можно получить, выбрав один из доступных путей;
  2. Найти количество путей, которые дают эту лексикографически наименьшую строку.

$$$^\dagger$$$ Если строки $$$s$$$ и $$$t$$$ имеют равную длину, то строка $$$s$$$ лексикографически меньше строки $$$t$$$, если и только если в первой позиции, где $$$s$$$ и $$$t$$$ различны, в строке $$$s$$$ элемент меньше, чем соответствующий элемент в $$$t$$$.

Входные данные

Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.

Первая строка каждого набора входных данных содержит одно целое число $$$n$$$ ($$$2 \le n \le 2 \cdot 10^5$$$).

Вторая строка каждого набора входных данных содержит бинарную строку $$$a_{11} a_{12} \ldots a_{1n}$$$ ($$$a_{1i}$$$ равно либо $$$0$$$, либо $$$1$$$).

Третья строка каждого набора входных данных содержит бинарную строку $$$a_{21} a_{22} \ldots a_{2n}$$$ ($$$a_{2i}$$$ равно либо $$$0$$$, либо $$$1$$$).

Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.

Выходные данные

Для каждого набора входных данных выведите:

  1. Лексикографически наименьшую строку, которую можно получить;
  2. Число путей, дающих эту строку.
Пример
Входные данные
3
2
00
00
4
1101
1100
8
00100111
11101101
Выходные данные
000
2
11000
1
001001101
4
Примечание

В первом наборе входных данных лексикографически наименьшей строкой является $$$\mathtt{000}$$$. Есть два пути, движение по которым даст эту строку:

Во втором наборе входных данных лексикографически наименьшей строкой является $$$\mathtt{11000}$$$. Существует всего один путь, дающий такую строку: