#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  float x;
  bool status = false;
  int suma = 0;
  int otro = 0, punto = 0, punto2 = 0;
  cin >> n;
  int arr[n];
  if (n < 3)
    cout << "Yes";
  else {
    for (int i = 0; i < n; i++) cin >> arr[i];
    x = arr[1] - arr[0];
    for (int i = 0; i < n; i++) {
      if (arr[i] == (arr[0] + (x * i))) {
        suma++;
      } else {
        if (punto) punto2 = punto;
        punto = i;
        otro++;
      }
    }
    if (otro == 0) {
      cout << "No";
      status = true;
    } else if (otro == 1) {
      cout << "Yes";
      status = true;
    } else if (otro == 2) {
      if (arr[punto] - arr[punto2] == x) {
        cout << "Yes";
        status = true;
      }
    }
    if (status == false) {
      for (int i = 0; i < n; i++) {
        if (arr[i] == (arr[punto2] + (x * (i - punto2)))) {
          suma++;
        }
      }
      if (suma == n)
        cout << "Yes";
      else {
        suma = 0;
        x = (float)(arr[punto] - arr[0]) / (punto);
        for (int i = 0; i < n; i++) {
          if ((arr[i] == arr[0] + (x * i)) ||
              (arr[i] == arr[1] + (x * (i - 1)))) {
            suma++;
          }
        }
        if (suma == n)
          cout << "Yes";
        else {
          suma = 0;
          x = (float)(arr[punto] - arr[1]) / (punto - 1);
          for (int i = 0; i < n; i++) {
            if ((arr[i] == arr[1] + (x * (i - 1))) ||
                (arr[i] == arr[0] + (x * (i)))) {
              suma++;
            }
          }
          if (suma == n)
            cout << "Yes";
          else
            cout << "No";
        }
      }
    }
  }
  return 0;
}
