Олимпиадный тренинг

Задача . H. Кевин и странная операция


Кевин исследует задачи, связанные с бинарными строками в Чайнатауне. Когда он был в замешательстве, к нему подошел незнакомец и предложил странную операцию:

  • Пусть текущая бинарная строка — это \( t \), длина которой равна \( \vert t \vert \). Выберите целое число \( 1 \leq p \leq \vert t \vert \). Для всех \( 1 \leq i < p \) одновременно выполните операцию \( t_i = \max(t_i, t_{i+1}) \), а затем удалите \( t_p \).

Например, пусть текущая бинарная строка — это 01001, и вы выбрали \( p = 4 \). Выполните \( t_i = \max(t_i, t_{i+1}) \) для \(t_1\), \(t_2\) и \( t_3 \), преобразовав строку в 11001, затем удалите \( t_4 \), в результате получится 1101.

Кевин находит эту странную операцию довольно интересной. Таким образом, он хочет спросить вас: начиная с бинарной строки \( s \), сколько различных непустых бинарных строк вы можете получить за произвольное количество операций (возможно, ноль)?

Поскольку ответ может быть очень большим, вам нужно вывести результат по модулю \(998\,244\,353\).

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

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

Для каждого набора входных данных единственная строка содержит бинарную строку \( s \) (\( 1 \le \lvert s \rvert \le 10^6 \)).

Гарантируется, что сумма \(\lvert s \rvert\) по всем наборам входных данных не превышает \(10^6\).

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

Для каждого набора входных данных выведите одно целое число в отдельной строке  — количество различных непустых бинарных строк, которые вы можете получить, по модулю \(998\,244\,353\).

Примечание

В первом наборе все бинарные строки, которые вы можете получить, следующие: 11001, 1001, 1101, 001, 101, 111, 01, 11 и 1. Всего \( 9 \) строк.


Примеры
Входные данныеВыходные данные
1 2
11001
000110111001100
9
73

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя