#include <algorithm>
#include <cfloat>
#include <climits>
#include <cmath>
#include <complex>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <functional>
#include <iostream>
#include <map>
#include <memory>
#include <queue>
#include <deque>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <utility>
#include <vector>
#include <cassert>
#include <iostream>
#include <stdio.h>
#include <time.h>
 
using namespace std;

typedef long long ll;
 
#define sz size()
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define all(c) (c).begin(), (c).end()
#define rep(i,a,b) for(ll i=(a);i<(b);++i)
#define per(i,a,b) for(ll i=b-1LL;i>=(a);--i)
#define clr(a, b) memset((a), (b) ,sizeof(a))
#define ctos(c) string(1,c)

#define MOD 1000000007

void abc(int x1, int y1, int x2, int y2, ll &a, ll &b, ll &c){
  a = y2 - y1;
  b = x1 - x2;
  c = (long long)x2 * y1 - (long long)x1 * y2;
}

double distpl(int x, int y, int a, int b, long long c){
  if(a == 0 && b == 0)return -1.0;
  long long n = llabs((long long)a * x + (long long)b * y + c);
  return (double)n / sqrt(a * a + b * b);
}

int main(){
  ll n;
  cin>>n;
  vector<pair<ll,ll> > vp;
  rep(i,0,n){
    ll a,b;
    cin>>a>>b;
    vp.pb(mp(a,b));
  }
  ll flag = 0;
  rep(i,0,vp.sz){
    rep(j,i+1,vp.sz){
      rep(k,j+1,vp.sz){
        ll a,b,c;
        abc(vp[i].fi,vp[i].se,vp[j].fi,vp[j].se,a,b,c);
        if(distpl(vp[k].fi,vp[k].se,a,b,c)==0.){
          flag = 1;
        }
      }
    }
  }
  if(flag==1){
      cout << "Yes" << endl;
  }
  else{
      cout << "No" << endl;
  }
  return 0;
}
#include <bits/stdc++.h>
using namespace std;

int main(){
  int n;
  cin >> n;
  
  int ans = 0;
  vector<vector<int>> point(n, vector<int>(2));
  
  for (int i=0; i<n; i++){
    cin >> point[i][0] >> point[i][1];
  }
  for (int j=0; j<n; j++){
    for (int k=j+1; k<n; k++){
      for (int l=0; l<n; l++){
        if (l == j){
          continue;
        }
        else if (l == k){
          continue;
        }
        else if ((point[j][0] - point[k][0]) == 0){
          if (point[k][0] == point[l][0]){
            ans += 1;
          }
          else{
            continue;
          }
        }
        else{
          if ((point[j][1] - point[k][1])*(point[l][0]-point[j][0])%(point[j][0] - point[k][0]) == 0){
            int y;
            y =  (point[j][1] - point[k][1])*(point[l][0]-point[j][0])/(point[j][0] - point[k][0]) + point[j][1];
            if (y == point[l][1]){
              ans += 1;
          }
          
          }
        }
      }
    }
  }
  if (ans == 0){
    cout << "No" << endl;
  }
  else{
    cout << "Yes" << endl;
  }
}