Задача №1790. НОП с восстановлением

10 математический класс. Динамическое программирование.

Даны две последовательности, требуется найти и вывести их наибольшую общую подпоследовательность.

Входные данные

В первой строке входных данных содержится число \(N\) – длина первой последовательности (1 ≤ \(N\) ≤ 1000). Во второй строке заданы члены первой последовательности (через пробел) – целые числа, не превосходящие 10000 по модулю.

В третьей строке записано число \(M\) – длина второй последовательности (1 ≤ \(M\) ≤ 1000). В четвертой строке задаются члены второй последовательности (через пробел) – целые числа, не превосходящие 10000 по модулю.

Выходные данные

Требуется вывести наибольшую общую подпоследовательность данных последовательностей, через пробел.

Примеры
Входные данные
3
1 2 3
3 
2 3 1
Выходные данные
2 3 
Сдать: для сдачи задач необходимо войти в систему