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