C. Удаление повторов
ограничение по времени на тест
2 seconds
ограничение по памяти на тест
256 megabytes
ввод
stdin
вывод
stdout

Однажды Вася увидел строку. В ней было настолько много разных букв, что они обозначались числами, но при этом каждая буква встречалась в строке не более 10 раз. Эта строка не понравилась Васе, потому что в ней были повторы: повтором длины x называется такая подстрока длины 2x, что ее первая половина совпадает посимвольно со второй. Вася стал удалять из строки все повторы. Он делает это следующим образом: пока это возможно, Вася берет самый короткий повтор, если таких несколько — самый левый, и удаляет его левую половину и все, что находится левее этого повтора.

Вам дана строка, которую увидел Вася. Выясните, что от нее останется после того как Вася удалит все повторы описанным выше методом.

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

В первой строке входных данных содержится целое число n (1 ≤ n ≤ 105) — длина строки. Следующая строка содержит n целых чисел от 0 до 109 включительно, разделенных пробелами — буквы строки, обозначенные числами. Гарантируется, что каждая буква встречается в строке не более 10 раз.

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

В первую строку выведите длину оставшейся части строки. Во вторую строку выведите, разделяя пробелами, все буквы строки, которая останется после того как Вася удалит все повторы описанным выше способом.

Примеры
Входные данные
6
1 2 3 1 2 3
Выходные данные
3
1 2 3
Входные данные
7
4 5 6 5 6 7 7
Выходные данные
1
7