#include<cstdio>
#define maxn 2005
#define MOD 1000000007
int n,m;
int a[maxn],b[maxn];
int dp[maxn][maxn];
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]);
    memset(dp,0,sizeof(dp));
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            dp[i][j] = dp[i][j-1] + dp[i-1][j] - dp[i-1][j-1];
            if (a[i]==b[j]) dp[i][j]+=dp[i-1][j-1]+1;
            if (dp[i][j]<0) dp[i][j]+=MOD;
            dp[i][j] %= MOD;

        }
    }
    printf("%d",dp[n][m]+1);
    return 0;
}
