BZPRO
#5233. [Lydsy2017省队十连测]坏题
内存限制:512 MiB
时间限制:10 Sec
提交
提交记录
讨论
题目描述
每个人心中对于坏题的定义不同,对于小火车来说所谓的坏题就是不有趣的题。
你可以用前t个小写字母来组成两段都无限长的链,要求这些链中不能出现n个给定的串中的任何一个,请问有多少
个满足条件的不同的无限链呢?两个相同的两端均无限长的链A和B需要满足的条件为A[i+k]==B[i]对于任意的i都
成立,其中k为任意整数。
例如t=2,给定串为{ab,ba},那么只有…aaa…与…bbb…两个,如果给定串为{ab},则有…aaa…,…bbb…,…bbbbaaa…三个。
输入格式
第一行两个整数t和n,含义如题所示。
接下来n行每行一个字符串表示一个不能出现的串。
n<=1000,t<=6,每个给定的串长度不超过10。
输出格式
输出一行一个整数表示答案,如果有无限多个输出-1,保证答案不超过2^31-1。
样例
样例输入
2 2
ab
ba
样例输出
2
数据范围与提示