10711: ABC130 —— E - Common Subsequence
Description
In how many pairs of a subsequence of $S$ and a subsequence of $T$ do the two subsequences are the same in content?
Here the subsequence of $A$ is a sequence obtained by removing zero or more elements from $A$ and concatenating the remaining elements without changing the order.
For both $S$ and $T$, 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 modulo $10^9+7$.
Input
```
$N$ $M$
$S_1$ $S_2$ $...$ $S_{N-1}$ $S_{N}$
$T_1$ $T_2$ $...$ $T_{M-1}$ $T_{M}$
```
Output
Constraints
- The length of $S$ is $N$.
- The length of $T$ is $M$.
- $1 \leq S_i, T_i \leq 10^5$
- All values in input are integers.
Sample 1 Input
2 2
1 3
3 1
Sample 1 Output
3
$S$ has four subsequences: $(), (1), (3), (1, 3)$.
$T$ has four subsequences: $(), (3), (1), (3, 1)$.
There are $1 \times 1$ pair of subsequences in which the subsequences are both $()$, $1 \times 1$ pair of subsequences in which the subsequences are both $(1)$, and $1 \times 1$ pair of subsequences in which the subsequences are both $(3)$, for a total of three pairs.
Sample 2 Input
2 2
1 1
1 1
Sample 2 Output
6
$S$ has four subsequences: $(), (1), (1), (1, 1)$.
$T$ has four subsequences: $(), (1), (1), (1, 1)$.
There are $1 \times 1$ pair of subsequences in which the subsequences are both $()$, $2 \times 2$ pairs of subsequences in which the subsequences are both $(1)$, and $1 \times 1$ pair of subsequences in which the subsequences are both $(1,1)$, for a total of six pairs. Note again that 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.
Sample 3 Input
4 4
3 4 5 6
3 4 5 6
Sample 3 Output
16
10 9
9 6 5 7 5 9 8 5 6 7
8 6 8 5 5 7 9 9 7
191
Sample 4 Input
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
Sample 4 Output
846527861