Обобщённое слияние массивов с удалением дубликатов

TypeScript Лёгкий generics

Задача «Обобщённое слияние массивов с удалением дубликатов»

Напишите обобщённую функцию mergeUnique, которая принимает два массива одного типа и возвращает новый массив, содержащий все уникальные элементы из обоих массивов в порядке их первого появления. Тип элементов может быть любым (числа, строки и т.д.). Функция должна корректно работать с примитивными типами. Убедитесь, что порядок элементов сохраняется, а дубликаты удаляются.

Формат ввода

Первая строка: количество элементов первого массива N. Вторая строка: N элементов через пробел. Третья строка: количество элементов второго массива M. Четвёртая строка: M элементов через пробел.

Формат вывода

Элементы результирующего массива через пробел.

Примеры

Пример 1

ВВОД
4 9 99 999 9999
ВЫВОД
9 99 999 9999

Пример 2

ВВОД
11 20
ВЫВОД
11 20

Пример 3

ВВОД
2 2
ВЫВОД
2
main.ts