#include <bits/stdc++.h>
#define rep(i,n) for (int i = 0; i < (n); ++i)
using namespace std;
using ll = long long;
using P = pair<int,int>;
const ll mod = 1000000007;
int main(){
    int n;
    cin >> n;
    int judge = 0;
    vector<P>vec(n);
    rep(i,n){
        P pp;
        int a,b;
        cin >> a >> b;
        pp.first = a;
        pp.second = b;
        vec[i] = pp;
    }
    rep(i,n){
        rep(j,n){
            rep(k,n){
                if(i != j && j != k){
                    if(i != k){
                        if(vec[i].first == vec[j].first){
                            if(vec[j].first == vec[k].first){
                                judge = 1;
                                cout << "Yes" << endl;
                                return 0;
                            }
                        }
                        else if(vec[i].first != vec[j].first && vec[j].first != vec[k].first){
                            ll x1 = vec[i].first - vec[j].first;
                            ll x2 = vec[j].first - vec[k].first;
                            ll y1 = vec[i].second - vec[j].second;
                            ll y2 = vec[j].second - vec[k].second;
                            if(x1 * y2 == x2 * y1){
                                judge = 1;
                                cout << "Yes" << endl;
                                return 0;
                            }
                        }
                    }
                }
            }
        }
    }
    if(judge == 0){
        cout << "No" << endl;
    }
}
#include <bits/stdc++.h>

using namespace std;

using ll = long long;
using ull = unsigned long long;
using ld = long double;
using P = pair<ll, ll>;
using tp = tuple<ll, ll, ll>;

template <class T>
using vec = vector<T>;
template <class T>
using vvec = vector<vec<T>>;

#define all(hoge) (hoge).begin(), (hoge).end()
#define en '\n'
#define rep(i, m, n) for(ll i = (ll)(m); i < (ll)(n); ++i)
#define rep2(i, m, n) for(ll i = (ll)(n)-1; i >= (ll)(m); --i)
#define REP(i, n) rep(i, 0, n)
#define REP2(i, n) rep2(i, 0, n)

constexpr long long INF = 1LL << 60;
constexpr int INF_INT = 1 << 25;
constexpr long long MOD = (ll)1e9 + 7;
//constexpr long long MOD = 998244353LL;
static const ld pi = 3.141592653589793L;

#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")

template <class T>
inline bool chmin(T &a, T b) {
    if(a > b) {
        a = b;
        return true;
    }
    return false;
}

template <class T>
inline bool chmax(T &a, T b) {
    if(a < b) {
        a = b;
        return true;
    }
    return false;
}

//グラフ関連
struct Edge {
    int to, rev;
    ll cap;
    Edge(int _to, ll _cap, int _rev) : to(_to), cap(_cap), rev(_rev) {}
};

typedef vector<Edge> Edges;
typedef vector<Edges> Graph;

void add_edge(Graph &G, int from, int to, ll cap, bool revFlag, ll revCap) {
    G[from].push_back(Edge(to, cap, (int)G[to].size()));
    if(revFlag)
        G[to].push_back(Edge(from, revCap, (int)G[from].size() - 1));
}

void solve() {
    ll n, k;
    cin >> n >> k;

    ll num = 0;
    ll pre = 0;
    k--;
    rep(s, 3, n * 3 + 1) {
        //合計
        ll tmp = pre;
        if(s <= 2 * n + 1) {
            ll r = min(s - 1 - 1, n);
            ll l = max(1LL, s - 1 - n);
            tmp += r - l + 1;
        }
        if(s >= n + 2) {
            ll r = min(s - (n + 1) - 1, n);
            ll l = max(1LL, s - (n + 1) - n);
            tmp -= r - l + 1;
        }
        pre = tmp;

        //cout << s << " " << num << en;
        if(num + tmp <= k) {
            num += tmp;
            continue;
        }
        rep(i, 1, n + 1) {
            ll r = min(s - i - 1, n);
            ll l = max(1LL, s - i - n);
            ll nxt = max(0LL,r - l + 1);
            if(num + nxt <= k) {
                //cout<<num<<" "<<nxt<<" "<<k<<en;
                num += nxt;
                continue;
            }
            ll j = k - num + l;
            cout << i << " " << j << " " << s - i - j << en;
            return;
        }
    }
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);

    // ll t;
    // cin >> t;
    // REP(i, t - 1) {
    //     solve();
    // }

    solve();

    return 0;
}
