Завдання № 14
відбірково-тренувальних зборів
команди міста Києва

1. Проґресiя

Арифметичною проґресією називають послідовність, у якій різниця двох послідовних елементів стала.

Завдання
Створiть програму sequence.*, що з даної множини n натуральних чисел вибере елементи арифметичної проґресiї найбiльшої довжини з додатною рiзницею.

Вхідні дані
Файл sequence.in мiстить (n + 1) натуральне число, кожне з яких не перевищує 500 000. Перше з них — n, а наступнi — рiзнi n натуральних чисел.

Вихідні дані
Кожен рядок файлу sequence.out має мiстити у вказаному порядку кiлькiсть членiв шуканої арифметичної проґресiї, її найменший перший член та її рiзницю — по одному варiанту вiдповiдi в кожному рядку в порядку зростання першого члена, а для однакових перших членiв — у порядку зростання рiзницi проґресiї.

Приклади

sequence.insequence.out
4 1 5 6 33 1 2
8 1 5 10 3 6 8 18 30


3 1 2
3 6 2
3 6 12

2. Поверхня куба
Координати вершин куба дорівнюють 0 або d. На поверхні куба розташовано замкнену ламану без самоперетинів, що має n вершин. Координати всіх вершин цієї ламаної — невід'ємні цілі числа.

Завдання
Створити програму cubesurf.* для обчислення площі фіґур, на які ламана розбиває поверхню куба.

Вхідні дані
Файл cubesurf.in містить у вказаному порядку натуральні числа d, n, де d < 109, n < 105, і послідовність n трійок координат вершин цієї ламаної у порядку обходу ламаної. Для кожної вершини спочатку вказано абсцису x, потім — ординату y, потім — аплікату z.

Вихідні дані
Файл cubesurf.out має містити у порядку неспадання подвоєні площі фіґур, на які ламана розбиває поверхню куба.

Приклад

cubesurf.incubesurf.out
1000 3 1 0 0 0 1 0 0 0 13 11999997