#include <bits/stdc++.h>
using namespace std;
long long n, dem1, dema1, dem2, dema2, dem3, dema3, c1, c2, c3, sai1, sai2,
    sai3, moc1, moc2, moc3;
double ad1, a[10001], ad2, ad3, bd1, bd2, bd3, a1[1111], a2[1111], a3[1111];
int main() {
  std::ios::sync_with_stdio(false);
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
  }
  ad1 = (a[2] - a[1]);
  bd1 = a[1] - ad1;
  ad2 = a[3] - a[2];
  bd2 = a[2] - ad2 * 2;
  ad3 = (a[3] - a[1]) / 2;
  bd3 = a[1] - ad3;
  for (int i = 1; i <= n; i++) {
    if (i * ad1 + bd1 == a[i]) {
      a1[dema1] = i;
      dema1++;
    } else {
      if (c1 == 0) {
        c1++;
        moc1 = a[i] - i * ad1;
        dem1++;
      } else {
        if (i * ad1 + moc1 != a[i]) {
          sai1 = 1;
        } else {
          dem1++;
        }
      }
    }
    if (i * ad2 + bd2 == a[i]) {
      a2[dema2] = i;
      dema2++;
    } else {
      if (c2 == 0) {
        c2++;
        moc2 = a[i] - i * ad2;
        dem2++;
      } else {
        if (i * ad2 + moc2 != a[i]) {
          sai2 = 1;
        } else {
          dem2++;
        }
      }
    }
    if (i * ad3 + bd3 == a[i]) {
      a3[dema3] = i;
      dema3++;
    } else {
      if (c3 == 0) {
        c3++;
        moc3 = a[i] - i * ad3;
        dem3++;
      } else {
        if (i * ad3 + moc3 != a[i]) {
          sai3 = 1;
        } else {
          dem3++;
        }
      }
    }
  }
  if ((dem1 + dema1 == n && dem1 != 0) || (dem2 + dema2 == n && dem2 != 0) ||
      (dem3 + dema3 == n && dem3 != 0)) {
    cout << "Yes";
    return 0;
  }
  cout << "No";
}
