#ABC130E. Common Subsequence

Common Subsequence

题目描述

You are given two integer sequences SS and TT of length NN and MM, respectively, both consisting of integers between 11 and 10510^5 (inclusive).

In how many pairs of a subsequence of SS and a subsequence of TT do the two subsequences are the same in content?

Here the subsequence of AA is a sequence obtained by removing zero or more elements from AA and concatenating the remaining elements without changing the order.

For both SS and TT, we distinguish two subsequences if the sets of the indices of the removed elements are different, even if the subsequences are the same in content.

Since the answer can be tremendous, print the number mod 109+710^9+7.

给你两个长度分别为 NNMM 的整数序列 SSTT ,它们都由 1110510^5 之间的整数组成。(含)之间的整数。

SS 的子序列和 TT 的子序列中,有多少对两个子序列的内容是相同的?

在这里, AA 的子序列是从 AA 中去掉 0 个或多个元素,然后在不改变顺序的情况下将剩下的元素连接起来而得到的序列。

对于 SSTT 来说,如果被删除元素的索引集不同,即使子序列的内容相同,我们也可以将两个子序列区分开来。

由于答案可能是极大值,因此请打印 109+710^9+7 的模数。

输入格式

输入内容按以下格式标准输入:

NN MM
S1S_1 S2S_2 ...... SN1S_{N-1} SNS_{N}
T1T_1 T2T_2 ...... TM1T_{M-1} TMT_{M}

输出格式

打印 SS 的子序列和 TT 的子序列中,内容相同且模数为 109+710^9+7 的子序列的对数。

样例 #1

样例输入 #1

2 2
1 3
3 1

样例输出 #1

3

样例 #2

样例输入 #2

2 2
1 1
1 1

样例输出 #2

6

样例 #3

样例输入 #3

4 4
3 4 5 6
3 4 5 6

样例输出 #3

16

样例 #4

样例输入 #4

10 9
9 6 5 7 5 9 8 5 6 7
8 6 8 5 5 7 9 9 7

样例输出 #4

191

样例 #5

样例输入 #5

20 20
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

样例输出 #5

846527861

说明

数据规模与约定

  • 1N,M2×1031 \leq N, M \leq 2 \times 10^3
  • SS 的长度为 NN
  • TT 的长度为 MM
  • 1Si,Ti1051 \leq S_i, T_i \leq 10^5
  • 输入值均为整数。

样例 11 解释

SS 有四个子序列: (),(1),(3),(1,3)(), (1), (3), (1, 3) .

TT 有四个子序列: (),(3),(1),(3,1)(), (3), (1), (3, 1) .

1×11 \times 1 对子序列中的子序列都是 ()()1×11 \times 1 对子序列中的子序列都是 (1)(1)1×11 \times 1 对子序列中的子序列都是 (3)(3) ,总共有三对子序列。

样例 22 解释

SS 有四个子序列: (),(1),(1),(1,1)(), (1), (1), (1, 1) .

TT 有四个子序列: (),(1),(1),(1,1)(), (1), (1), (1, 1) .

还有 1×11 \times 1 对子序列中的子序列都是 ()()2×22 \times 2 对子序列中的子序列都是 (1)(1)1×11 \times 1 对子序列中的子序列都是 (1,1)(1,1) ,总共六对子序列。请再次注意,如果被删除元素的索引集不同,即使子序列的内容相同,我们也要区分两个子序列。

样例 55 解释

请务必打印出 109+710^9+7 的模数。