Необходимо решить задачу эффективным способом (динамическое программирование). На вход поступают две последовательности чисел. Необходимо найти количество их общих подпоследовательностей длины k. ФОРМАТ ВВОДА: В первой строке дано целое число (1 <=n<= 40) — количество элементов в первой последовательности Во второй строке через пробел дано n чисел — сами элементы первой последовательности В третьей строке дано целое число (1 <=m<= 40) — количество элементов во второй последовательности В четвертой строке через пробел дано m чисел — сами элементы второй последовательности Все элементы последовательностей являются натуральными числами и не превышают 10^9. В последней строке входного файла дано целое число (1 <=k<=min(n,m)). ФОРМАТ ВЫВОДА: Вывести количество общих подпоследовательностей длины k. Так как количество таких подпоследовательностей может быть огромным, необходимо вывести ответ по модулю (10^9 + 7). ПРИМЕРЫ: Ввод: 4 1 2 3 4 3 1 4 3 2 Вывод: 2 Ввод: 3 1 1 1 2 1 1 2 Вывод: 3 Ввод: 8 1 2 3 4 6 5 7 8 5 3 4 5 6 8 3 Вывод: 7.