#include<bits/stdc++.h>
using namespace std;
#define ll long long
const long long mod=1e9+7;
#define N 2005
int n,m,a[N],b[N];
ll dp[N][N];
int main()
{
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i]);
    for(int i=1;i<=m;i++)
        scanf("%d",&b[i]);

    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
    {   
        dp[i][j]=(dp[i-1][j]+dp[i][j-1]-dp[i-1][j-1])%mod;
        if(a[i]==b[j])
            dp[i][j]+=(dp[i-1][j-1]+1),dp[i][j]%=mod;
    }
    printf("%lld\n",(dp[n][m]%mod+1+mod)%mod);
    return 0;
}
