n,m=map(int,input().split())
s=list(map(int,input().split()))
t=list(map(int,input().split()))
dp=[[1]*(m+1)for _ in range(n+1)]
dp[0][0]=1
for i in range(1,n+1):
    for j in range(1,m+1):
        dp[i][j]=dp[i-1][j]+dp[i][j-1]
        if s[i-1]!=t[j-1]:
            dp[i][j]-=dp[i-1][j-1]
        dp[i][j]%=10**9+7
print(dp[n][m]) 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 [1]*(m+1)for _ in range(n+1) for _ in range(n+1) _ range(n+1) range n+1 n 1 for _ in range(n+1) [1]*(m+1) [1] 1 m+1 m 1 dp=[[1]*(m+1)for _ in range(n+1)] dp [[1]*(m+1)for _ in range(n+1)] dp[0][0]=1 dp[0][0] [0] dp 0 0 1 for i in range(1,n+1):
    for j in range(1,m+1):
        dp[i][j]=dp[i-1][j]+dp[i][j-1]
        if s[i-1]!=t[j-1]:
            dp[i][j]-=dp[i-1][j-1]
        dp[i][j]%=10**9+7 i range(1,n+1) range 1 n+1 n 1 for j in range(1,m+1):
        dp[i][j]=dp[i-1][j]+dp[i][j-1]
        if s[i-1]!=t[j-1]:
            dp[i][j]-=dp[i-1][j-1]
        dp[i][j]%=10**9+7 j range(1,m+1) range 1 m+1 m 1 dp[i][j]=dp[i-1][j]+dp[i][j-1] dp[i][j] [i] dp i j dp[i-1][j]+dp[i][j-1] dp[i-1][j] [i-1] dp i-1 i 1 j dp[i][j-1] [i] dp i j-1 j 1 if s[i-1]!=t[j-1]:
            dp[i][j]-=dp[i-1][j-1]
         s[i-1]!=t[j-1] s[i-1] s i-1 i 1 t[j-1] t j-1 j 1 dp[i][j]-=dp[i-1][j-1] dp[i][j] [i] dp i j dp[i-1][j-1] [i-1] dp i-1 i 1 j-1 j 1 dp[i][j]%=10**9+7 dp[i][j] [i] dp i j 10**9+7 10**9 10 9 7 print(dp[n][m]) print dp[n][m] [n] dp n m s=list(map(int,input().split())) list(map(int,input().split())) s m=map(int,input().split()) map(int,input().split()) m dp=[[1]*(m+1)for _ in range(n+1)] [[1]*(m+1)for _ in range(n+1)] dp t=list(map(int,input().split())) list(map(int,input().split())) t n,m=map(int,input().split()) map(int,input().split()) n
n,m=map(int,input().split())
s=list(map(int,input().split()))
t=list(map(int,input().split()))
dp=[[1]*(m+1)for _ in range(n+1)]
dp[0][0]=1
for i in range(1,n+1):
    for j in range(1,m+1):
        dp[i][j]=dp[i-1][j]+dp[i][j-1]
        if s[i-1]!=t[j-1]:
            dp[i][j]-=dp[i-1][j-1]
        dp[i][j]%=10**9+7
print(dp[n][m])