Fantastični Fožgaj
시간 제한1.5초메모리 제한512 MB
길이 m인 소문자 문자열 중 주어진 n개의 금지 패턴을 부분 문자열로 포함하지 않는 문자열의 개수를 10^9+7로 나눈 나머지로 구한다. m은 10^9까지다.
문제
Fožgaj는 Dodo와 친구가 되고 싶어서 우정에 관한 연설을 준비하기로 했다.
Fožgaj의 연설은 영어 알파벳 소문자 (m)개로 이루어진 단어이다. Domagoj는 (이미 Fožgaj에게서 우정에 관한 연설을 한 번 들은 적이 있으므로) 작은 Dodo를 놀라게 할 수 있는 (n)개의 단어 목록이 있다는 것을 알고 있다.
Malnar 씨가 Fožgaj에게 그 목록을 구해 주었고, 이제 Fožgaj는 길이가 (m)인 단어 중 목록에 있는 어떤 단어도 나타나지 않는 단어가 몇 개인지 궁금해한다. 목록에 있는 단어가 Fožgaj의 연설에 나타난다는 것은 그 단어가 연설 안에 연속된 문자들의 나열로 존재한다는 뜻이다.
Fožgaj를 도와 길이가 (m)인 단어 중 목록에 있는 어떤 단어도 나타나지 않는 단어의 개수를 (10^9 + 7)로 나눈 나머지를 출력하라.
입력
첫 번째 줄에는 문제에 나온 자연수 (n) ((1 \le n \le 100))과 (m) ((1 \le m \le 10^9))이 주어진다.
다음 (n)개 줄에는 Domagoj의 목록에 있는 단어가 하나씩 주어진다. 목록의 단어는 영어 알파벳 소문자로 이루어져 있으며 중복되지 않는다. 또한 모든 단어의 길이의 합은 최대 100이다.
출력
문제에서 구한 수를 한 줄에 출력한다.