问题 AA: 数学!

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:540 解决:157

题目描述

题目描述

给你两个长度分别为n nnm mm的数组S SST TT,问你S SS的子序列有多少和T TT的子序列相同。

此题子序列不要求连续,即:从序列a aa中删除0 00l e n ( a ) len(a)len(a)个元素后得到的序列即为a aa的子序列。

输入

.

第一行空格隔开的两个正整数n nnm mm,分别代表序列S SS的长度和序列T TT的长度。

第二行n nn个空格隔开的正整数,代表序列S SS

第三行m mm个空格隔开的正整数,代表序列T TT

输入格式如下:

n m
S1 S2 ... S3
T1 T2 ... T3s

其中:

  • 1 ≤ n , m ≤ 2 × 1 0 3 1leq n,mleq2 imes10^31n,m2×103
  • 1 ≤ S i , T i ≤ 1 0 5 1leq S_i, T_ileq 10^51Si,Ti105
  • 所有输入的数都为正整数

输出

.输出一行一个正整数代表序列S SS和序列T TT的相同子序列的个数,答案对1 0 9 + 7 10^9+7109+7取模。

样例输入 复制

2 2
1 3
3 1

样例输出 复制

3

提示

样例一中,
序列S 有4 个子序列:( ) , ( 1 ) , ( 3 ) , ( 1 , 3 )
序列T 有4 个子序列:( ) , ( 3 ) , ( 1 ) , ( 3 , 1 ) 

相同子序列有3 33对:( ) , ( 1 ) , ( 3 )


题解点我