import sys input = sys.stdin.readline from operator import itemgetter from math import gcd N=int(input()) P=[tuple(map(int,input().split())) for i in range(N)] # 頂点の集合 P.sort(key=itemgetter(1)) # 一番左下の点から始める。 P.sort(key=itemgetter(0)) # 上側凸包と下側凸包 Q1=[] Q2=[] def outer_product(x,y,z,w): return x*w-y*z for x,y in P: while True: if len(Q1)<2: break s,t=Q1[-1] u,v=Q1[-2] if outer_product(u-s,v-t,x-u,y-v)<0: Q1.pop() else: break Q1.append((x,y)) while True: if len(Q2)<2: break s,t=Q2[-1] u,v=Q2[-2] if outer_product(u-s,v-t,x-u,y-v)>0: Q2.pop() else: break Q2.append((x,y)) Q2.reverse() Q=Q1+Q2[1:] # 上側凸包と下側凸包を結んで凸包が完成 if len(set(Q))!=N: print("No") exit() for i in range(len(Q)-2): a,b=Q[i] c,d=Q[i+1] e,f=Q[i+2] if c-a==0 and e-a==0: print("No") exit() if d-b==0 and f-b==0: print("No") exit() g=gcd(c-a,d-b) h=gcd(e-a,f-b) A=((c-a)//g,(d-b)//g) B=((e-a)//h,(f-b)//h) if A==B: print("No") exit() print("Yes")