import numpy as np
N,M = map(int, input().split())
S = [int(x) for x in input().split()]
T = [int(x) for x in input().split()]

dp = np.zeros((N+1,M+1))

for i in range(N+1):
    dp[i][0] = 1
    
for i in range(M+1):
    dp[0][i] = 1

for i in range(1,N+1):
    for j in range(1,M+1):
        if S[i-1]==T[j-1]:
            dp[i][j] = dp[i][j-1] + dp[i-1][j] - dp[i-1][j-1] + dp[i-1][j-1]
        else:
            dp[i][j] = dp[i][j-1] + dp[i-1][j] - dp[i-1][j-1]

print(int(dp[N][M] % (10**9 + 7)))