N, M = list(map(int, input().split()))
S = list(map(int, input().split()))
T = list(map(int, input().split()))
 
s = [[1] * (M + 1) for _ in range(N + 1)]
 
for i in range(1, N + 1):
    for j in range(1, M + 1):
        if S[i - 1] == T[j - 1]:
            s[i][j] = s[i - 1][j] + s[i][j - 1]
        else:
            s[i][j] = s[i - 1][j] + s[i][j - 1] - s[i - 1][j - 1]
 
print(s[i][j] % 1000000007)