F. Чайнворд
ограничение по времени на тест
3 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Чайнворд — это особый тип кроссворда. Как и в большинстве кроссвордов, в нем есть клетки, в которые надо вписать буквы, и некоторые подсказки, которые указывают на то, какие буквы должны быть.

В чайнворде клетки для букв расположены в одну строку. В этой задаче мы будем рассматривать чайнворды длины $$$m$$$.

Подсказка к чайнворду — это последовательность отрезков такая, что отрезки не пересекаются между собой и покрывают все $$$m$$$ клеток. Каждый отрезок содержит описание слова в соответствующих клетках.

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

Дан словарь из $$$n$$$ слов, каждое слово состоит из строчных латинских букв. Все слова попарно различны.

Экземпляр чайнворда — это следующая тройка:

  • строка из $$$m$$$ строчных латинских букв;
  • первая подсказка: последовательность отрезков такая, что буквы, соответствующие каждому отрезку, составляют некоторое слово из словаря;
  • вторая подсказка: еще одна последовательность отрезков такая, что буквы, соответствующие каждому отрезку, составляют некоторое слово из словаря.

Обратите внимание, что последовательности отрезков не обязаны различаться.

Два экземпляра чайнвордов считаются различными, если различаются их строки, первые подсказки или вторые подсказки.

Посчитайте количество различных экземпляров чайнвордов. Так как их число может быть достаточно велико, выведите его остаток от деления на $$$998\,244\,353$$$.

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

В первой строке записаны два целых числа $$$n$$$ and $$$m$$$ ($$$1 \le n \le 8$$$, $$$1 \le m \le 10^9$$$) — количество слов в словаре и количество клеток с буквами.

В каждой из следующих $$$n$$$ строк записано одно слово — непустая строка из не более $$$5$$$ строчных латинских букв. Все слова попарно различные.

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

Выведите одно целое число — количество различных экземпляров чайнвордов длины $$$m$$$ для данного словаря по модулю $$$998\,244\,353$$$.

Примеры
Входные данные
3 5
ababa
ab
a
Выходные данные
11
Входные данные
2 4
ab
cd
Выходные данные
4
Входные данные
5 100
a
aa
aaa
aaaa
aaaaa
Выходные данные
142528942
Примечание

Здесь приведены все примеры различных чайнвордов для первого примера:

Красные полоски над буквами означают отрезки первой подсказки, синие полоски под буквами означают отрезки второй подсказки.

Во втором примере возможные строки: «abab», «abcd», «cdab» и «cdcd». Все подсказки — это отрезки, которые покрывают первые две буквы и последние две буквы.