/
Time Limit: 2 sec / Memory Limit: 1024 MiB
配点 : 550 点
問題文
N 個の英小文字列 S_1,S_2,\ldots,S_N および整数 L が与えられます。
長さ L の英小文字列であって、S_1,S_2,\ldots,S_N をすべて部分文字列として含むものの個数を 998244353 で割った余りを求めてください。
部分文字列とは
S の部分文字列とは、S の先頭から 0 文字以上、末尾から 0 文字以上削除して得られる文字列のことをいいます。例えば、
ab, bc, bcd は abcd の部分文字列ですが、ac, dc, e は abcd の部分文字列ではありません。
制約
- 1\leq N\leq 8
- 1\leq L\leq 100
- N,L は整数
- S_i は長さが 1 以上 10 以下の英小文字からなる文字列
- S_i\neq S_j\ (i\neq j)
入力
入力は以下の形式で標準入力から与えられる。
N L S_1 S_2 \vdots S_N
出力
答えを出力せよ。
入力例 1
2 4 ab c
出力例 1
153
条件を満たす文字列として、たとえば abcz や cabc があります。acbd は ab を部分文字列として含まないため条件を満たしません。
入力例 2
2 6 abc cde
出力例 2
54
入力例 3
5 50 bbfogggj zkbach eedirhyc ffgd oemmswj
出力例 3
689020583
Score : 550 points
Problem Statement
You are given N lowercase English strings S_1,S_2,\ldots,S_N, and an integer L.
Find the number, modulo 998244353, of length-L lowercase English strings that contain all of S_1,S_2,\ldots,S_N as substrings.
What is a substring?
A substring of S is a string obtained by deleting zero or more characters from the beginning and zero or more characters from the end of S.For example,
ab, bc, and bcd are substrings of abcd, while ac, dc, and e are not substrings of abcd.
Constraints
- 1\leq N\leq 8
- 1\leq L\leq 100
- N and L are integers.
- Each S_i is a string of length 1 and 10, inclusive, consisting of lowercase English letters.
- S_i\neq S_j\ (i\neq j)
Input
The input is given from Standard Input in the following format:
N L S_1 S_2 \vdots S_N
Output
Output the answer.
Sample Input 1
2 4 ab c
Sample Output 1
153
Some of the strings that satisfy the condition are abcz and cabc. acbd does not contain ab as a substring, so it does not satisfy the condition.
Sample Input 2
2 6 abc cde
Sample Output 2
54
Sample Input 3
5 50 bbfogggj zkbach eedirhyc ffgd oemmswj
Sample Output 3
689020583