Mesclagem de dois slices ordenados com remoção de duplicatas

Go Medium slices

Tarefa «Mesclagem de dois slices ordenados com remoção de duplicatas»

Dados dois slices de inteiros ordenados em ordem crescente. Mescle-os em um único slice ordenado, removendo todas as duplicatas. Implemente a função MergeSortedUnique(a, b []int) []int, que recebe dois slices e retorna um novo slice. Os dados de entrada são lidos do stdin: primeiro o comprimento do primeiro slice, depois seus elementos, depois o comprimento do segundo slice e seus elementos. Imprima o slice resultante separado por espaços.

Formato de Entrada

Primeira linha: um inteiro n (0 ≤ n ≤ 1000) — comprimento do primeiro slice. Segunda linha: n inteiros, ordenados em ordem crescente. Terceira linha: um inteiro m (0 ≤ m ≤ 1000). Quarta linha: m inteiros, ordenados em ordem crescente.

Formato de Saída

Uma única linha: os elementos do slice resultante, ordenados em ordem crescente, sem duplicatas, separados por espaços.

Exemplos

Exemplo 1

ENTRADA
3 1 1 2 3 1 2 3
SAÍDA
1 2 3

Exemplo 2

ENTRADA
3 0 0 1
SAÍDA
3
main.go