Problem A. Appropriate names

Author:G.Korneev, A. Klenin
Input file: input.txt   Time limit:1 sec
Output file: output.txt   Memory limit:256 Mb

Statement

A company wants to name a new product. Marketing department determined, that a name for a product is appropriate, if:

  1. it consist of exactly N small English letters;
  2. it has alternating vowels and consonants;
  3. it does not contain any of given M offensive substrings.

Your program must calculate the number of possible appropriate names. Note that English vowels are: 'a', 'e', 'i', 'o', 'u', 'y'.

Input file format

First line of input file contains two integers N M — name length and number of offensive substrings.

Following M lines contain offensive substrings si, one per line.

Output file format

Output file must contain a single integer — number of appropriate names modulo 109 + 7.

Constraints

1 ≤ N ≤ 50, 0 ≤ M ≤ 50, 1 ≤ length(si) ≤ N.

Sample tests

No. Input file (input.txt) Output file (output.txt)
1
2 3
b
ca
b
227
2
5 0
374400

0.024s 0.008s 9