n,m=map(int,input().split())
s=list(map(int,input().split()))
t=list(map(int,input().split()))
mod=10**9+7
dp=[[0]*(m+1) for i in range(n+1)]
total=[[0]*(m+1) for i in range(n+1)]
for i in range(n):
	for j in range(m):
		if s[i]==t[j]:
			dp[i+1][j+1]=(total[i][j]+1)%mod
		total[i+1][j+1]=(total[i+1][j]+total[i][j+1]-total[i][j]+dp[i+1][j+1])%mod
print((total[-1][-1]+1)%mod) n,m=map(int,input().split()) n map(int,input().split()) map int input().split() ().split () input split m s=list(map(int,input().split())) s list(map(int,input().split())) list map(int,input().split()) map int input().split() ().split () input split t=list(map(int,input().split())) t list(map(int,input().split())) list map(int,input().split()) map int input().split() ().split () input split mod=10**9+7 mod 10**9+7 10**9 10 9 7 [0]*(m+1) for i in range(n+1) for i in range(n+1) i range(n+1) range n+1 n 1 for i in range(n+1) [0]*(m+1) [0] 0 m+1 m 1 dp=[[0]*(m+1) for i in range(n+1)] dp [[0]*(m+1) for i in range(n+1)] [0]*(m+1) for i in range(n+1) for i in range(n+1) i range(n+1) range n+1 n 1 for i in range(n+1) [0]*(m+1) [0] 0 m+1 m 1 total=[[0]*(m+1) for i in range(n+1)] total [[0]*(m+1) for i in range(n+1)] for i in range(n):
	for j in range(m):
		if s[i]==t[j]:
			dp[i+1][j+1]=(total[i][j]+1)%mod
		total[i+1][j+1]=(total[i+1][j]+total[i][j+1]-total[i][j]+dp[i+1][j+1])%mod i range(n) range n for j in range(m):
		if s[i]==t[j]:
			dp[i+1][j+1]=(total[i][j]+1)%mod
		total[i+1][j+1]=(total[i+1][j]+total[i][j+1]-total[i][j]+dp[i+1][j+1])%mod j range(m) range m if s[i]==t[j]:
			dp[i+1][j+1]=(total[i][j]+1)%mod
		 s[i]==t[j] s[i] s i t[j] t j dp[i+1][j+1]=(total[i][j]+1)%mod dp[i+1][j+1] [i+1] dp i+1 i 1 j+1 j 1 (total[i][j]+1)%mod total[i][j]+1 total[i][j] [i] total i j 1 mod total[i+1][j+1]=(total[i+1][j]+total[i][j+1]-total[i][j]+dp[i+1][j+1])%mod total[i+1][j+1] [i+1] total i+1 i 1 j+1 j 1 (total[i+1][j]+total[i][j+1]-total[i][j]+dp[i+1][j+1])%mod total[i+1][j]+total[i][j+1]-total[i][j]+dp[i+1][j+1] total[i+1][j]+total[i][j+1]-total[i][j] total[i+1][j]+total[i][j+1] total[i+1][j] [i+1] total i+1 i 1 j total[i][j+1] [i] total i j+1 j 1 total[i][j] [i] total i j dp[i+1][j+1] [i+1] dp i+1 i 1 j+1 j 1 mod print((total[-1][-1]+1)%mod) print (total[-1][-1]+1)%mod total[-1][-1]+1 total[-1][-1] [-1] total -1 -1 1 mod n,m=map(int,input().split()) map(int,input().split()) n mod=10**9+7 10**9+7 mod m=map(int,input().split()) map(int,input().split()) m s=list(map(int,input().split())) list(map(int,input().split())) s dp=[[0]*(m+1) for i in range(n+1)] [[0]*(m+1) for i in range(n+1)] dp total=[[0]*(m+1) for i in range(n+1)] [[0]*(m+1) for i in range(n+1)] total t=list(map(int,input().split())) list(map(int,input().split())) t
n,m=map(int,input().split())
s=list(map(int,input().split()))
t=list(map(int,input().split()))
mod=10**9+7
dp=[[0]*(m+1) for i in range(n+1)]
total=[[0]*(m+1) for i in range(n+1)]
for i in range(n):
	for j in range(m):
		if s[i]==t[j]:
			dp[i+1][j+1]=(total[i][j]+1)%mod
		total[i+1][j+1]=(total[i+1][j]+total[i][j+1]-total[i][j]+dp[i+1][j+1])%mod
print((total[-1][-1]+1)%mod)