3768 - spoj 4660 Binary palindrome二进制回文串

给定k个长度不超过L的01串,求有多少长度为n的01串S满足: 1.该串是回文串 2.该串不存在两个不重叠的子串,在给定的k个串中。 即不存在a<=b<c<=d,S[a,b]是k个串中的一个,S[c,d]是k个串中的一个 (It does not contain two non-overlapped substrings in the given list of K binary strings.) 举个例子,若给定2(k=2)个01串:101和1001 1010001和1010101均不满足条件。前者不满足条件1,后者不满足条件2

Input

第一行两个整数n,k 以下k行,每行一个01串

Output

输出一个整数表示答案,答案mod 1000000007(10^9+7)

Examples

Input

5 1
0

Output

2

Hint

n<=300,k<=30,L<=30

Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题