Вам дана бинарная последовательность $$$s$$$ длины $$$n$$$, которая состоит только из $$$0$$$ и $$$1$$$.
Вы можете выполнить следующую операцию не более $$$n - 2$$$ раз (возможно, ноль):
Обратите внимание, что после каждой операции длина $$$s$$$ уменьшается на $$$1$$$.
Найдите, сколько различных бинарных последовательностей можно получить после выполнения операции, по модулю $$$10^9 + 7$$$.
$$$^{\text{∗}}$$$Медиана массива нечетной длины $$$k$$$ — это $$$\frac{k + 1}{2}$$$-й элемент в отсортированном виде.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит одно целое число $$$n$$$ ($$$3 \le n \le 2 \cdot 10^6$$$) — длина бинарной последовательности.
Вторая строка каждого набора входных данных содержит строку $$$s$$$ длины $$$n$$$, состоящую только из $$$0$$$ и $$$1$$$.
Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^6$$$.
Для каждого набора входных данных выведите одно целое число — количество двоичных последовательностей, которые можно получить, по модулю $$$10^9 + 7$$$.
5511111610001190001110001411001111111000160010000110100011
4 8 30 114 514
В первом наборе входных данных можно получить следующие бинарные последовательности: $$$[1, 1]$$$, $$$[1, 1, 1]$$$, $$$[1, 1, 1, 1]$$$, $$$[1, 1, 1, 1, 1]$$$.
Во втором наборе входных данных можно получить следующие бинарные последовательности: $$$[0, 1]$$$, $$$[0, 1, 1]$$$, $$$[1, 0, 1]$$$, $$$[1, 0, 0, 1]$$$, $$$[1, 0, 1, 1]$$$, $$$[1, 0, 0, 0, 1]$$$, $$$[1, 0, 0, 1, 1]$$$, $$$[1, 0, 0, 0, 1, 1]$$$. Например, чтобы получить $$$[0, 1, 1]$$$, вы можете: