#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
typedef long double lb;
#define rep(i, j, n) for (ll i = j; i < (n); i++)
#define repr(i, j, n) for (ll i = j; i >= (n); i--)
#define each(i, mp) for (auto &i : mp)
#define all(x) (x).begin(), (x).end()
#define CLR(mat, f) memset(mat, f, sizeof(mat))
#define IN(a, b, x) (a <= x && x < b)
#define out(ans) cout << ans << endl
typedef pair<ll, ll> P;
const lb pi = acos(-1);
const ll mod = 1e9 + 7;
const ll INF = 1LL << 60;


int main(){

    ll n;cin>>n;
    ll x[n],y[n];rep(i,0,n)cin>>x[i]>>y[i];

    bool ans=false;

    rep(i,0,n-2){
        rep(j,i+1,n-1){

            rep(k,j+1,n){
                lb xd1=x[j]-x[i],xd2=x[k]-x[i];
                lb yd1=y[j]-y[i],yd2=y[k]-y[i];

                if(xd1==0 and xd2==0)ans=true;
                else if(yd1/xd1==yd2/xd2)ans=true;

            }
        }
    }

    if(ans)out("Yes");
    else out("No");


    return 0;
}

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
#define int long long
pair<int,int>point[1010];
bool online(int i,int j,int k)
{
	int x1=point[i].first;
	int y1=point[i].second;
	int x2=point[j].first;
	int y2=point[j].second;
	int x3=point[k].first;
	int y3=point[k].second;
	return (y3-y1)*(x2-x1)==(y2-y1)*(x3-x1);
}
signed main()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		//int x,y;
		cin>>point[i].first>>point[i].second;
	}
	for(int i=1;i<=n;i++)
	for(int j=i+1;j<=n;j++)
	for(int k=j+1;k<=n;k++)
		if(online(i,j,k))
		{
			cout<<"Yes"<<endl;
			return 0;
		}

	cout<<"No"<<endl;
		return 0;
}