String Compression
题号:NC54751
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

Bob最近沉迷于字符串压缩算法,给定一个字符串S将其压缩成若干形如( l , c )的对,其中 l 表示当前压缩串中该字符 c 连续出现的长度。

例如字符串 "abbbcd" 可被压缩成 {(1,a) ,(3,b) ,(1,c) ,(1,d) }、{(1,a) ,(1,b) ,(2,b) ,(1,c) ,(1,d) } 、{(1,a) ,(1,b) ,(1,b),(1,b) ,(1,c) ,(1,d) }。

现给出两个字符串S , T 的压缩后的形式,请问在解压后T在S作为子串的出现次数。

,,c为小写拉丁字母。

输入描述:

第一行输入两个整数n和m,分别表示S和T压缩后的对数。

第二行输入n个形如 l c 的压缩对,表示S压缩后的形式。

第三行输入m个形如 l c 的压缩对,表示T压缩后的形式。

输出描述:

输出一个整数表示解压后T作为子串出现在S中的出现次数。
示例1

输入

复制
2 1
2 a 1 a
1 a

输出

复制
3

说明

2 a需要注意scanf("%d %c",&a,&b)读入(即:注意中间空格)