// Containers
#include <algorithm>
#include <deque>
#include <iostream>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <unordered_map>
#include <unordered_set>
#include <vector>


using namespace std;
#define ll long long
#define pb push_back
#define mp make_pair
#define INF 0x3F3F3F3F
#define all(v) v.begin(), v.end()
#define f first
#define s second
#define MOD 1000000007
#define vt(T) vector<T>

#define FOR(i, n) for (int i = 0; i < n; i++)
#define FORUP(i, a, b) for (int i = a; i < b; i++)
#define FORDOWN(i, a, b) for (int i = a; i > b; --i)
#define EACH(e, C) for (auto &e : C)
#define len(v) (int)v.size()
#define PQ(type) priority_queue<type>
#define PQD(type) priority_queue<type, vector<type>, greater<type>>
#define US unordered_set
#define UM unordered_map

typedef map<int, int> mii;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int, int> pii;
typedef pair<int, pair<int, int>> pipii;
typedef vector<pii> vpii;

template <class T> bool in(const T e, unordered_set<T> s) {
  return s.count(e) > 0;
}
template <class T> bool in(const T e, set<T> s) { return s.count(e) > 0; }
template <class K, class V> bool in(const K e, unordered_map<K, V> s) {
  return s.count(e) > 0;
}
template <class K, class V> bool in(const K e, map<K, V> s) {
  return s.count(e) > 0;
}
template <class T> void print(T t) { cout << t << endl; }
int dirs[5] = {-1, 0, 1, 0, -1};

// fast IO
static auto __2333__ = []() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  return 0;
}();
// --------------------------------------------------------

int main() {
  int N;
  cin >> N;
  vt(pii) ps;
  FOR(i, N) {
    int x, y;
    cin >> x >> y;
    ps.pb(mp(x, y));
  }
  sort(all(ps));
  FOR(i, N) FORUP(j, i + 1, N) FORUP(k, j + 1, N) {
    int a = ps[i].f, b = ps[i].s, c = ps[j].f, d = ps[j].s, e = ps[k].f,
        f = ps[k].s;
    if (a == c && c == e) {
      print("Yes");
      return 0;
    };
    if (b == d && b == f) {
      print("Yes");
      return 0;
    };
    if (a == c || c == e)
      continue;
    if (b == d || b == f)
      continue;
    if ((d - b) * (e - a) == (f - b) * (c - a)) {
      print("Yes");
      return 0;
    }
  }
  print("No");
}

//NAME-DEEPESH BHATT
//Institute-IIT Dhanbad
//MOTTO-THINK FIRST,CODE LATER

#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
ll MOD = 998244353  ;
/*#define endl '\n'*/

//Check for signed int overflow
// use __builtin_popcountll(num) to calculate no.of setbits in num
//__builtin_clz() -> leading zeroes
//bitset<365>->bin no. with 365 bits avail.
// cout<<bitset<8>(x) prints x after converting it into bits
//s.lower_bound() works in O(logn) whereas lower_bound(s.begin(),s.end(),x) works in O(n)

//Euclid's Algo
ll gcd(ll a,ll b)
{
    if(b==0)
        return a;
    else
        return gcd(b,a%b);
}
//Extended Euclid's Algo
ll gcd_ex(ll a,ll b,ll&x,ll&y){
    if(b==0){
        x=1;
        y=0;
        return a;
    }
    ll x1,y1;
    ll g=gcd_ex(b,a%b,x1,y1);
    x=y1;
    y=x1-y1*(a/b);
    return g;
}
//Multiplicative Modulo Inv
ll multi_mod_inv(ll a,ll m){
    ll x,y;
    ll g=gcd_ex(a,m,x,y);
    if(g!=1){
        return -1;
    }
    x=(x%m+m)%m;
    return x;
}
//Mod division
ll mod_div(ll a,ll b,ll m){
    //(a/b)mod m?
    if(multi_mod_inv(b,m)!=-1){
        return (a%m*multi_mod_inv(b,m)%m)%m;
    }
    else{
        return -1;
    }
}
//lcm
ll lcm(ll a ,ll b)
{
    return a/gcd(a,b)*b;
}
//Binary Exponentiation
ll power(ll a,ll n){
    if (n == 0)
        return 1;
    ll p = power(a, n / 2);
    p = (p * p)%MOD;
    if (n % 2)
        return (p * a)%MOD;
    else
        return p%MOD;
}
/*//Euler Totient Function
ll phi[1000001]={0};
void euler_totient(ll n){
    for(ll i=0;i<=n;i++){
        phi[i]=i;
    }
    phi[1]=1;
    for(ll i=2;i<=n;i++){
        if(i==phi[i]){
            phi[i]=i-1;//For a prime number phi(p)=p-1
            for(ll j=2*i;j<=n;j+=i){
                phi[j]=phi[j]*(i-1)/i;
            }
        }
    }
}*/

/*void sieve(vector<ll>&is_prime){
    is_prime[0]=is_prime[1]=0;
    for(ll i=2;i*i<=100000;i++){
        if(is_prime[i]){
            for(ll j=i*i;j<=100000;j+=i){
                is_prime[j]=0;
            }
        }
    }
}*/
int32_t main()
{
    /*freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);*/
    ios_base::sync_with_stdio(false);    //for fast I/O operation
    cin.tie(nullptr);
    ll test=1;
    /*cin>>test;*/
    while(test--){
        string s;
        cin>>s;
        bool flag=true;
        for(ll i=0;i<s.length();i++){
            if(i%2==0){
                if(s[i]>='a'&&s[i]<='z'){
                    continue;
                }
                else{
                    flag=false;
                }
            }
            else{
                if(s[i]>='A'&&s[i]<='Z'){
                    continue;
                }
                else{
                    flag=false;
                }
            }
        }
        if(flag){
            cout<<"Yes";
        }
        else{
            cout<<"No";
        }
    }
    return 0;
}