#include<iostream>
using namespace std;
int N,M,S[2000],T[2000];
long mod=1e9+7,dp[2020][2020],sum[2020][2020];
int main()
{
	cin>>N>>M;
	for(int i=0;i<N;i++)cin>>S[i];
	for(int i=0;i<M;i++)cin>>T[i];
	dp[0][0]=1;
	for(int j=0;j<=M;j++)sum[0][j]=1;
	for(int i=0;i<N;i++)
	{
		for(int j=0;j<M;j++)
		{
			if(S[i]==T[j])
			{
				dp[i+1][j+1]=sum[i][j];
			}
		}
		long now=0;
		for(int j=0;j<=M;j++)
		{
			(now+=dp[i+1][j])%=mod;
			sum[i+1][j]=(sum[i][j]+now)%mod;
		}
	}
	cout<<sum[N][M]<<endl;
}
