#include<bits/stdc++.h>
using namespace std;
#define N 2005
#define ll long long
const ll mod=1e9+7;
int a[N],b[N];
ll dp[N][N];
int main()
{
    int n,m;
    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][j] + dp[i-1][j-1] + 1)%mod;
        }
   cout<<(dp[n][m]+1+mod)%mod;
    return 0;
}
