Олимпиадный тренинг

Задача . B. Tell Your World


Соедини бесчисленное количество точек линиями и достигни далёкого мира.

На плоскости находится n точек, i-я из которых находится в точке с координатами (i, yi).

Определите, возможно ли провести две параллельные и не совпадающие прямые такие, что каждая точка лежит на ровно одной из прямых, а каждая из прямых проходит через хотя бы одну точку.

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

Первая строка содержит целое число n (3 ≤ n ≤ 1 000) — количество точек.

Вторая строка содержит n целых чисел y1, y2, ..., yn ( - 109 ≤ yi ≤ 109) — вертикальные координаты точек.

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

Выведите «Yes» (без кавычек), если можно удовлетворить всем ограничениям, и «No» иначе.

Вы можете выводить каждую из букв в любом регистре (заглавную или строчную).

Примечание

В первом примере есть пять точек: (1, 7), (2, 5), (3, 8), (4, 6) и (5, 9). Возможно провести прямую, проходящую через точки 1, 3, 5, и параллельную ей вторую, проходящую через точки 2, 4.

Во втором примере, несмотря на то, что можно провести две прямых, покрывающие все точки, их нельзя сделать параллельными.

В третьем примере невозможно выполнить оба условия одновременно.


Примеры
Входные данныеВыходные данные
1 5
7 5 8 6 9
Yes
2 5
-1 -2 0 0 -5
No
3 5
5 4 3 2 1
No
4 5
1000000000 0 0 0 0
Yes

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя