#include <bits/stdc++.h>
#include <math.h>
using namespace std;
//マクロ
#define all(v) v.begin(), v.end()
#define rep(i, n) for (double i = 0; i < (int)(n); i++)
#define BIT(i, n) for (int i = 0; i < (1 << n); i++)

typedef long long ll;
//const ll INF = 10000000010;

int main() {
  int N;
  vector<double> x(100), y(100);
  cin >> N;
  rep(i, N) {
    cin >> x.at(i) >> y.at(i);
  }
  
  //cout << N << endl;
  //rep(i, N) cout << x.at(i) << y.at(i) << endl;
  
  rep(i, N - 2) {
    for(int j = i + 1; j < N - 1; j++) {
      for(int k = j + 1; k < N; k++) {
      	if(x.at(i) == x.at(j)) {
          //cout << "a" << endl;
          if(x.at(i) == x.at(k)) {
            goto yes;
            //cout << "A" << endl;
          }
          //else goto next;
        }
        else if(y.at(i) == y.at(j)) {
          //cout << "b" << endl;
          if(y.at(i) == y.at(k)) {
            goto yes; 
            //cout << "B" << endl;
          }
          //else goto next;
        }
        else {
          if(y.at(k) == (y.at(i) - y.at(j)) / (x.at(i) - x.at(j)) * (x.at(k) - x.at(i)) + y.at(i)){
            //cout << "c" << endl;
            //cout<<x.at(i)<<" "<<y.at(i)<<" "<<x.at(j)<<" "<<y.at(j)<<" "<<x.at(k)<<" "<<y.at(k)<<endl;
            goto yes;
          }
        }
       // next:
        //int q = 0;
      } 
    }
  }
  
  cout << "No" << endl;
  return 0;
  
  yes:
  cout << "Yes" << endl;
  return 0;
}

#include<bits/stdc++.h>
#define ll              long long int
#define ld              long double
#define ff              first
#define ss              second
#define mod             1000000007
#define ull             unsigned long long
#define vll             vector<ll>
#define uom             unordered_map
#define uos             unordered_set
#define pll             pair<ll, ll>
#define INF             9223372036854775807
#define w(t)            ll tests;    cin>>tests;        while(tests--)
#define endl            "\n"
#define pb(x)           push_back(x)
#define ppb()            pop_back()
#define all(x)          x.begin(), x.end()
#define mp(a, b)        make_pair(a, b)
#define setp(x, y)      fixed << setprecision(x) << y
#define f(i, a, b)      for(ll i = a ; i < b ; i++)
#define fo(j, a, b)     for(ll j = a ; j >= b ; j--)
#define fill(a, n, x)   f(i, 0, n)     a[i]=x;
using namespace std;

void init() {
#ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
#endif
}

int main() {

    init();
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    ll n;
    cin >> n;

    ll k = 2;
    f(i, 3, n + 1)
    {
        k = k * i / __gcd(k, i);
    }

    cout << k + 1;

    return 0;
}