Марсианин Василий сегодня устроился работать в одну Очень Секретную Организацию. Для выполнения дальнейших заданий Вася должен придумать свой секретный пароль для шифровки сообщений. Он ответственно подошел к делу и заранее приготовил отличное слово на марсианском языке (известно, что марсианский алфавит состоит из 105 символов). Но к сожалению, новому сотруднику никто не сказал, что существует одно Очень Важное Правило: пароль не может содержать двух одинаковых подстрок (до появления этого правила ленивые агенты просто много раз повторяли свое имя, что плохо сказывалось на безопасности).
Подстрокой называется непустая часть строки, состоящая из подряд идущих символов исходной строки. Для примера, в строке «abс» имеются подстроки «a», «b», «c», «ab», «bc» и «abc». Других подстрок в строке «abc» нет.
Василий потратил очень много времени и сил, чтобы запомнить свой пароль, и совсем не хочет придумывать что-то новое. Поэтому он решил, что возьмет паролем подстроку исходного слова, которая не противоречит Очень Важному Правилу. Тогда ему не придется запоминать ничего нового. В то же время он хочет, чтобы пароль был как можно более надежным, поэтому нужна самая длинная такая подстрока. Но времени, чтобы искать ее, уже почти не осталось. Напишите программу, которая найдет такую подстроку.
В первой строке вводится целое число n (1 ≤ n ≤ 105) — длина слова.
В следующей строке вводится пароль Васи, состоящий из n букв марсианского алфавита. Каждая буква марсианского алфавита представляется натуральным числом, не превосходящим 105. Числа разделены пробелами.
В первой строке выведите максимальную длину пароля, который сможет использовать Василий. Во второй строке — сам пароль.
Если таких паролей несколько, выведите любой из них.
5
1 1 1 1 1
1
1
4
2 2 1 2
2
2 1