D. Точки и степени двойки
ограничение по времени на тест
4 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

На координатной прямой заданы $$$n$$$ точек с различными целочисленными координатами, координата $$$i$$$-й точки равна $$$x_i$$$. Выберите такое наибольшее по количеству точек подмножество заданного множества точек, что расстояния между любой парой точек в этом подмножестве — степень двойки. Следует рассматривать все возможные пары точек из подмножества, а не только соседние. Заметим, что любое подмножество из одного элемента удовлетворяет описанному выше требованию.

Иными словами, нужно выбрать такое наибольшее подмножество точек $$$x_{i_1}, x_{i_2}, \dots, x_{i_m}$$$, что для любой пары $$$x_{i_j}$$$, $$$x_{i_k}$$$ должно выполняться, что $$$|x_{i_j} - x_{i_k}| = 2^d$$$, где $$$d$$$ — целое неотрицательное число. Это число может быть различным для разных пар точек.

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

В первой строке входных данных задано целое число $$$n$$$ ($$$1 \le n \le 2 \cdot 10^5$$$) — количество точек.

В следующей строке задано $$$n$$$ различных целых чисел $$$x_1, x_2, \dots, x_n$$$ ($$$-10^9 \le x_i \le 10^9$$$) — координаты точек.

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

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

В следующей строке выведите $$$m$$$ целых чисел — координаты точек из этого подмножества.

Если решений несколько, выведите любое из них.

Примеры
Входные данные
6
3 5 4 7 10 12
Выходные данные
3
7 3 5
Входные данные
5
-1 2 5 8 11
Выходные данные
1
8
Примечание

В первом примере ответ равен $$$[7, 3, 5]$$$. Заметим, что $$$|7-3|=4=2^2$$$, $$$|7-5|=2=2^1$$$ и $$$|3-5|=2=2^1$$$. Не существует подмножества с большим количеством точек, удовлетворяющего условию задачи.