N, M = map(int, input().split())
S = list(map(int, input().split()))
T = list(map(int, input().split()))

dp = [[0] * (M + 1) for _ in range(N + 1)]
MOD = 10 ** 9 + 7

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

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

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

