D2 - Substri18ng

解説を見る
  • 実行時間制限:2000 ms
  • メモリ制限:1073741824 Bytes
  • 配点:450
  • ジャッジ:Batch

問題

正整数 NN と長さが NN の正整数列 ASA^S と長さが NN の文字列 TST^S が与えられます。
また、正整数 MM と長さが MM の正整数列 AGA^G と長さが MM の文字列 TGT^G が与えられます。
文字列 XX は、空文字列に以下の操作を 1iN1\leq i \leq N を満たす ii それぞれに小さい順に繰り返して得られる文字列です。

  • 文字列に AiXA^X_iTiXT^X_i を追加する

簡単に言うと、 文字列 S,GS, G が連長圧縮した形式で文字群を TS,TGT^S, T^G 、長さ群を AS,AGA^S, A^G として与えられます。

このとき、文字列 GG と一致する SS の部分文字列の個数を出力してください。

制約

  • 1N,M2×1051\leq N, M\leq 2\times 10^5
  • TiSTi+1ST^S_i \neq T^S_{i+1}
  • TiGTi+1GT^G_i \neq T^G_{i+1}
  • 1AiS,AiG1091\leq A^S_i, A^G_i \leq 10^9
  • AS=N,AG=M|A^S|=N,|A^G| = M
  • TS,TGT^S, T^G は英小文字からなる長さがそれぞれ N,MN, M の文字配列
  • N,M,AiS,AiGN,M,A^S_i, A^G_i は整数

小課題

  • 小課題1 (5点)
    • M2M\leq 2
  • 小課題2 (100点)
    • iAiS100\sum_i A^S_i\leq 100
    • iAiG100\sum_i A^G_i\leq 100
  • 小課題3 (95点)
    • iAiS2×105\sum_i A^S_i\leq 2\times 10^5
    • iAiG2×105\sum_i A^G_i\leq 2\times 10^5
  • 小課題4 (70点)
    • M100M\leq 100
  • 小課題5 (180点)
    • 追加の制約はありません。

入力

入力は以下の形式で標準入力から与えられます。

NN
T1S A1ST^S_1~A^S_1
T2S A2ST^S_2~A^S_2
\vdots
TN1S AN1ST^S_{N-1}~A^S_{N-1}
TNS ANST^S_N~A^S_N
MM
T1G A1GT^G_1~A^G_1
T2G A2GT^G_2~A^G_2
\vdots
TM1G AM1GT^G_{M-1}~A^G_{M-1}
TMG AMGT^G_M~A^G_M

入力例1

3
c 5
b 25
a 7
2
b 3
a 7

この入力はすべての小課題の制約を満たします。

出力例1

1

SSccccbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaTTbbbaaa となるので答えは 1 です。

入力例2

5
c 9
a 3
c 10
b 10
c 7
5
a 2
c 5
a 5
c 4
b 10

この入力は小課題 2, 3, 4, 5 の制約を満たします。

出力例2

0

入力例3

5
a 7
b 4
c 6
a 9
c 3
3
b 2
c 6
a 6

この入力は小課題 2, 3, 4, 5 の制約を満たします。

出力例3

1