#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define li long long int
#define ld long double
#define all(v) v.begin(),v.end()
#define rev(a) reverse(all(a))
#define sort(a) sort(all(a))
#define pb push_back
#define INF 1e18+10
#define MINF -1e18-10
#define rep(i,a,b) for(li i=a;i<b;i++)
#define vli vector<li>
#define MAXN 1e5+10
const li mod = 1e9+7;
using namespace std;
 
li power(li a, li b) { a%=mod; li ret = 1; while(b){ if(b&1) ret*=a; a*=a;; if(ret>=mod) ret%=mod; if(a>=mod) a%=mod; b>>=1; } return ret; }
 
template <class T> void read(T& x){
  cin>>x;
}
 
template <class T, class... U> void read(T& x, U&... u){
  read(x);
  read(u...);
}
 
template <class A> void read(vector<A>& v){
  for(auto &it:v)
    read(it);
}
 
template <class A> void print(A x){
  cout<<x;
}
 
template <class A> void printl(A x){
  cout<<x<<endl;
}
 
template <class A> void print(vector<A>& v)
{
  for(auto &it:v){
    print(it);
    cout<<' ';
  }
  cout<<endl;
}

void solve()
{
    li n;
    cin>>n;

    vector<pair<li,li> > v;
    rep(i,0,n){
      li a,b;
      cin>>a>>b;

      v.pb({a,b});
    }

    rep(i,0,n){
      rep(j,i+1,n){
        rep(k,j+1,n){
              li x1 = v[i].first;
              li y1 = v[i].second;
              li x2 = v[j].first;
              li y2 = v[j].second;
              li x3 = v[k].first;
              li y3 = v[k].second;
              li area = abs(x1*y2 + x2*y3 + x3*y1 - x1*y3 - x2*y1 - x3*y2);
              if(area==0){
                cout<<"Yes\n";
                return;
              }   
          }
        }
      }

    cout<<"No\n";
}

 
int main()
{
  IOS;
 
  //#ifndef ONLINE_JUDGE
 // freopen("input.txt","r",stdin);
  //freopen("output.txt","w",stdout);
 // #endif

  solve();
 
  return 0;
}
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <vector>
#include <cmath>
#include <set>

using namespace std;
const long double PI = (acos(-1));
const long long MOD = pow(10, 9) + 7;


int main()
{
    int N;
    cin >> N;

    int *x = new int[N];
    int *y = new int[N];
    double dt[100][100];
    double c[100][100];

    for (int i=0; i<N; i++)
    {
        cin >> x[i] >> y[i];
    }

    for (int i=0; i<N-1; i++)
    {
        for (int j=i+1; j<N; j++)
        {
            int dx = x[i] - x[j];
            int dy = y[i] - y[j];
            if (dx!=0)
            {
                dt[i][j] = 1.0*dy/dx;
                c[i][j] = y[i]-x[i]*dt[i][j];
            }
            else
            {
                dt[i][j] = INFINITY;
                c[i][j] = INFINITY;
            }
        }
    }

    for (int i=0; i<N-2; i++)
    {
        for (int j=i+1; j<N-1; j++)
        {
            for (int k=j+1; k<N; k++)
            {


                if (dt[i][j] == dt[i][k] && c[i][j] == c[i][k])
                {
                    /*
                    cout << "i: " << i << "  j: " << j << "  k: " << k << endl;
                    cout << "dtij: " << dt[i][j] << "  dtik: " << dt[i][k] << endl;
                    cout << "cij: " << c[i][j] << "  cik: " << c[i][k] << endl;
                    */
                    cout << "Yes" << endl;
                    return 0;
                }
            }
        }
    }

    cout << "No" << endl;


}
