AT_joisc2011_deciphering 解読 (Deciphering)

题目描述

### 题目大意 给定 $L$ 长字符串,求出其所有不同非空子串(即原字符串或原字符串删除其中若干字符得到的字符串)且同时符合 $M$ 条规则的不同字符串个数,每一条规则如下: - 字符 $b_i$ 不紧接与字符 $a_i$ 之后。

输入格式

第一行,一个整数 $L$。 第二行,一个字符串。 第三行,一个整数 $M$。 后面 $M$ 行,每行两个整数 $a_i,b_i$,空格隔开。

输出格式

一行一个整数表示答案对 $10^7$ 取余后的结果。 ### 输入输出样例 输入样例 #1: ``` 5 JOIOI 1 I O ``` 输出样例 #1: ``` 15 ``` 符合要求的字符串有 `I`, `II`, `J`, `JI`, `JII`, `JO`, `JOI`, `JOII`, `JOO`, `JOOI`, `O`, `OI`, `OII`, `OO`, `OOI` 这 $15$ 个。 输入样例 #2: ``` 26 ABCDEFGHIJKLMNOPQRSTUVWXYZ 0 ``` 输出样例 #2: ``` 7108863 ``` ### 时空限制 时间限制:500 ms;空间限制:64 MB。

说明/提示

$1\le L\le 3\times10^5,0\le M\le26\times26$。