#P2500. 寻找宝藏

寻找宝藏

题目描述

当年,在一个神秘的大陆上,生活着 NN 个勇敢的冒险家,他们分别被称为 S1,S2,...,SnS_1 ,S_2, ... ,S_n。每个冒险家都有着独特的故事。

在这个大陆上,隐藏着一条传说中的神秘路径,只有通过拼接冒险家们的故事才能找到它。而这条路径正是通往传说中的宝藏之地。

然而,寻宝之路并非易事。为了成功找到宝藏之地,小 Z 需要将冒险家们的故事按照顺序拼接起来,形成一个新的故事 KK。然后,他们需要在 KK 中找到一个特殊的子序列,这个子序列正是守护着宝藏真正位置的线索 TT

他们花费了很多时间和精力,将每两个人的故事串联起来。他们相互启发,倾听彼此的经历,并在交流中不断进步。每个冒险家都展现出了自己独特的才华和智慧。

最终,当小 Z 每完成一次拼接时,他都注视着新的故事 KK,紧张地探索着其中能否看到 TT 的出现。突然,KK 中依次闪烁出了线索 TT 的轮廓。他们发现了 TTKK 的子序列!胜利的喜悦洋溢在每个冒险家的脸上。

输入格式

第一行,一个整数和一个字符串,表示冒险家的数量 NN 和线索 TT

第二行至 N+1N + 1 行,每行一个字符串,表示冒险家的故事 KK

输出格式

一行,一个整数,表示获得宝藏线索的故事组合方式有多少种。

3 bac
abba
bcb
aaca
3
5 xx
x
x
x
x
x
25
1 y
x
0
10 ms
mkgn
m
hlms
vmsle
mxsm
nnzdhi
umsavxlb
ffnsybomr
yvmm
naouel
68

提示

1N1051 \le N \le 10^5,字符串 SiS_i 长度 105\le 10^5,各字符串长度总和 105\le 10^5