11222. Однакові підпослідовності
Задаються дві послідовності \(S\) і \(T\) довжинами \(N\) і \(M\) відповідно. Обидві послідовності складаються з цілих чисел від 1 до \(10^5\) (включно).
У скількох пар підпослідовності \(S\) і підпослідовності \(T\) ці дві підпослідовності однакові за змістом?
Підпослідовність \(A\) являє собою послідовність, отриману шляхом видалення нуля або більше елементів з \(A\) та конкатенації елементів, що залишилися, без зміни порядку. І для \(S\), і для \(T\) ми розрізняємо дві підпослідовності, якщо набори індексів видалених елементів різні, навіть якщо підпослідовності однакові за змістом.
Оскільки відповідь може бути великою, то виведіть відповідь за модулем \(10^9 + 7\).
Формат вхідних даних
Перший рядок вхідного потоку містить цілі числа \(N,M\) (\(1 \le N,M \le 2 \times 10^3\)).
Другий рядок містить послідовність \(S\).
Третій рядок містить послідовність \(T\).
Числа у рядках розділяютьс пропуском.
Формат вихідних даних
У вихідний потік вивести шукану кількість пар підпослідовностей.
Примітка
До прикладу 1:
\(S\) має чотири підпослідовності: (), (1), (3), (1, 3).
\(T\) має чотири підпослідовності: (), (3), (1), (3, 1).
Існує 1 пара підпослідовностей, у яких обидві підпослідовності є (), 1 пара підпослідовностей, у яких обидві підпослідовності є (1) і 1 пара підпослідовностей, у якій обидві підпослідовності є (3), загалом три пари.
До прикладу 2:
\(S\) має чотири підпослідовності: (), (1), (1), (1, 1).
\(T\) має чотири підпослідовності: (), (1), (1), (1, 1).
Існує 1 пара підпослідовностей, у яких обидві підпослідовності є (), 2 пари підпослідовностей, у яких обидві підпослідовності є (1), 1 пара підпослідовностей, у якій обидві підпослідовності є (1,1), загалом шість пар.
Знову зауважимо, що ми розрізняємо дві підпослідовності, якщо набори індексів видалених елементів різні, навіть якщо підпослідовності однакові за змістом.
Приклад вхідних даних
2 2
1 3
3 1
Приклад вихідних даних
3
Приклад вхідних даних
2 2
1 1
1 1
Приклад вихідних даних
6
Приклад вхідних даних
4 4
3 4 5 6
3 4 5 6
Приклад вихідних даних
16
Приклад вхідних даних
10 9
9 6 5 7 5 9 8 5 6 7
8 6 8 5 5 7 9 9 7
Приклад вихідних даних
191
Коментарі