#include using namespace std; using ll = long long; vector> Totsuho(vector> &pos){ int n=pos.size(),n1,n2; sort(pos.begin(),pos.end()); vector> res1={pos[0],pos[1]},res2={pos[0],pos[1]}; auto cross=[&](pair a,pair b){ return (long long)a.first*b.second-(long long)a.second*b.first; }; auto sub=[&](pair a,pair b){ return make_pair(a.first-b.first,a.second-b.second); }; for(int i=2;i=2&&cross(sub(res1[n1-1],res1[n1-2]),sub(pos[i],res1[n1-1]))<=0){ res1.pop_back(); n1--; } while(n2>=2&&cross(sub(res2[n2-1],res2[n2-2]),sub(pos[i],res2[n2-1]))>=0){ res2.pop_back(); n2--; } res1.push_back(pos[i]); res2.push_back(pos[i]); } for (int i=res2.size()-2;i>=1;i--)res1.push_back(res2[i]); return res1; } int main(){ ios::sync_with_stdio(false); cin.tie(0); int n; cin >> n; vector> a(n); for(auto &&[x, y] : a) cin >> x >> y; cout << (Totsuho(a).size() == n ? "Yes" : "No") << '\n'; }