Deciphering(解読) - joi2011-day3

出典: 第10回日本情報オリンピック 日本代表選手選考会

時間制限: 0.5秒

メモリ制限: 64MB

あなたは A から Z の文字で書かれた IOI 国の機密文書を手に入れた.この機密文書の原文は IOI 語で書かれている.機密文書からいくつかの文字(0 文字でもよい)を消すことで原文が得られる.

IOI 語の文章は 1 文字以上からなる文字列であり,相異なる M 個の次のような規則を満たす:

与えられた機密文書の原文として考えられるものの個数を 10\,000\,000 で割った余りを求めよ.ただし,消し方が異なっても同じ原文であれば 1 つと数える.

課題

機密文書から考えられる原文の個数を 10\,000\,000 で割った余りを求めよ.

制限

1 \leq L \leq 300\,000 機密文書の長さ
0 \leq M \leq 26 \times 26 IOI 語の規則の個数

入力

標準入力から以下の入力を読み込め.

出力

標準出力に考えられる原文の個数を 10\,000\,000 で割った余りを 1 行で出力せよ.

採点基準

入出力の例

入力例 1 出力例 1
5
JOIOI
1
I O
15

この入力例では,\rm{I}, \rm{II}, \rm{J}, \rm{JI}, \rm{JII}, \rm{JO}, \rm{JOI}, \rm{JOII}, \rm{JOO}, \rm{JOOI}, \rm{O}, \rm{OI}, \rm{OII}, \rm{OO}, \rm{OOI} が考えられる原文である.

入力例 2 出力例 2
26
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0
7108863