Для последовательности строк \([t_1, t_2, \dots, t_m]\) введем функцию \(f([t_1, t_2, \dots, t_m])\), которая равна кол-ву различных строк (включая пустую строку), которые являются подпоследовательностями хотя бы одной строки \(t_i\). \(f([]) = 0\) (то есть значение такой функции для пустой последовательности строк равно \(0\)).
Вам задана последовательность строк \([s_1, s_2, \dots, s_n]\). Каждая строка в этой последовательности состоит из строчных латинских букв и является отсортированной (то есть каждая строка начинается с нескольких (возможно, ни одного) символов a, затем идут несколько (возможно, ноль) символов b, ..., в конце идут несколько (возможно, ноль) символов z).
Для каждой из \(2^n\) подпоследовательностей \([s_1, s_2, \dots, s_n]\), посчитайте значение функции \(f\) по модулю \(998244353\).
Выходные данные
Так как выводить \(2^{23}\) чисел довольно долго, представьте ответ следующим образом:
Для каждой из \(2^n\) подпоследовательностей (мы обозначим подпоследовательность как \([s_{i_1}, s_{i_2}, \dots, s_{i_k}]\)) посчитайте \(f([s_{i_1}, s_{i_2}, \dots, s_{i_k}])\), возьмите это значение по модулю \(998244353\), а затем умножьте на \(k \cdot (i_1 + i_2 + \dots + i_k)\). Выведите XOR всех \(2^n\) чисел, которые у вас получатся.
Индексы \(i_1, i_2, \dots, i_k\) в описании подпоследовательности заданы в \(1\)-индексации (то есть они от \(1\) до \(n\)).