#P1373. Genetic engineering

    ID: 1127 传统题 2000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>组合数学组合计数字符串AC 自动机CodeForces

Genetic engineering

题目描述

我们定义一个 DNA 序列为仅有 ATCG 四个字母的字符串。

给出 m(1m10)m(1 \le m \le 10) 个 DNA 序列模式串 sis_i,每个长度均不超过 1010,我们定义一个 DNA 序列 ww 是好的,当且仅当对于 ww 的每一个位置 ii,都存在至少一个模式串 sjs_j,使得 w[l...r]=sjw[l...r] = s_jw[l...r]w[l...r] 表示一个原字符串的一个子串),其中 1lirw1 \le l \le i \le r \le |w|w|w| 为 DNA序列 ww 的长度)。

请你计算出所有长度为 n(1n1000)n(1 \le n \le 1000) 的好的 DNA 序列的个数。答案对 1000000009 (109+9)1000000009\ (10^9+9) 取模。

输入格式

第一行两个整数 n,mn,m

接下来 mm 行,每行一个模式串 sis_i

输出格式

一个整数表示答案,对 1000000009(109+9)1000000009(10^9+9) 取模。

2 1
A
1
6 2
CAT
TACT
2