n = gets.split.map(&:to_i)
s = gets.split.map(&:to_i)
t = gets.split.map(&:to_i)
dp = Array.new(n[0]+1).map{Array.new(n[1]+1,0)}
1.upto(n[0]){|i|
  1.upto(n[1]){|j|
    dp[i][j] = 1 + dp[i-1][j] + dp[i][j-1]
    dp[i][j] -= 1 + dp[i-1][j-1] if s[i-1] != t[j-1]
  }
}
puts (dp[-1][-1]+1) % (10**9 + 7)
