[CERC2019] K==S
题目背景
**题目译自 [CERC 2019](https://contest.felk.cvut.cz/19cerc/solved.html) 「[K==S](https://contest.felk.cvut.cz/19cerc/solved/kequalss.pdf)」**
题目描述
渐进式硬八度摇滚曲调(所谓的“phorts”)是使用特定的音符创作的。这种摇滚风格只建立在 $13$ 个不同的音符音高上,其他音高(在其他八度中)被认为是过时的音乐基石。每个音符可以是长的,也可以是短的。因此,摇滚中正好有 $26$ 个不同的音符。
你将在你朋友的生日之际创作一首 phort 曲调,并与你的乐队在主要的城市广场上表演。在创作词缀时,你需要避免使用某些音乐短语,这些短语由于大型唱片公司赞助的长期研究而受到版权保护。已经证实,这些短语非常朗朗上口,易于记忆,可以用来将听众下意识地与某个特定的音乐公司联系起来,该公司会在他们的制作中使用这些短语。
曲调是一连串的音符。一个音乐短语也是一个音符序列,如果它的音符形成曲调的连续子序列,则它被认为包含在曲调中,这意味着相同的音符以相同的顺序出现在曲调中。
幸运的是,到目前为止,只有少数禁用短语获得了专利。因此,你可以相对自由地创作自己的曲调。特别是,您对某些长度的可接受的曲调的数量感兴趣。可接受的曲调是指任何不包含禁用短语的曲调。曲调的长度等于它所包含的音符数。
输入输出格式
输入格式
第一行包含两个整数 $N, Q\ (1\le N\le 10^9, 1\le Q\le 100)$。$N$ 是曲调的长度,$Q$ 是禁用音乐短语的数量。
接下来 $Q$ 行,每行都描述了一个禁用短语。禁用短语的描述以一个表示其长度的正整数 $L$ 开头,后跟一个由 $L$ 个小写英文字母组成的字符串。每个字母代表一个摇滚音符,不同的字母代表不同的音符。
所有禁用短语的长度总和不超过 $100$。
输出格式
输出长度为 $N$ 的不同可接受曲调的数量对 $1\,000\,000\,007$ 取模的值。
输入输出样例
输入样例 #1
2 3
1 a
1 b
1 c
输出样例 #1
529
输入样例 #2
3 3
2 aa
1 a
1 a
输出样例 #2
15625
输入样例 #3
3 1
2 ab
输出样例 #3
17524