#include <iostream>
#include <algorithm>
#include <stdio.h>
#define llint long long
#define mod 1000000007

using namespace std;

llint n, m;
llint s[2005], t[2005];
llint dp[2005][2005];
llint sum[2005][2005];

int main(void)
{
	cin >> n >> m;
	for(int i = 1; i <= n; i++) cin >> s[i];
	for(int i = 1; i <= m; i++) cin >> t[i];
	
	dp[0][0] = 0;
	for(int i = 1; i <= n; i++){
		for(int j = 1; j <= m; j++){
			if(s[i] == t[j]){
				dp[i][j] = sum[i-1][j-1] + 1;
				dp[i][j] %= mod;
			}
			sum[i][j] = sum[i-1][j] + sum[i][j-1] + mod - sum[i-1][j-1] + dp[i][j];
			sum[i][j] %= mod;
		}
	}
	cout << sum[n][m]+1 << endl;
	
	return 0;
}