#include <bits/stdc++.h>
using namespace std;
int n,r[505];
double dis[505];
struct node{
int x,y;
}a[505];
double jl(int x1,int x2,int y1,int y2){
return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}
double jl0(int x1,int y1){
return sqrt((x1)*(x1)+(y1)*(y1));
}
bool cmp(node q,node p){
return jl0(q.x,q.y)<jl0(p.x,p.y);
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].x>>a[i].y;
}
sort(a+1,a+n+1,cmp);
dis[1]=jl0(a[1].x,a[1].y);
r[1]=1;
dis[0]=0;
for(int i=2;i<=n;i++){
//cout<<i<<" "<<a[i].x<<" "<<a[i].y<<"\n";
double k=jl0(a[i].x,a[i].y);
r[i]=1;
double g=10000000;
for(int j=0;j<i;j++){
if(k>=jl0(a[j].x,a[j].y)&&g>jl(a[i].x,a[j].x,a[i].y,a[j].y)){
g=jl(a[i].x,a[j].x,a[i].y,a[j].y);
r[i]=1+r[j];
}
}
}
int o=0;
for(int i=0;i<=n;i++){
++r[i];
// cout<<r[i]<<" ";
o+=r[i];
}
// cout<<"\n";
if(o%2==1){
cout<<"No";
return 0;
}
sort(r,r+1+n);
o/=2;
if(r[n]>o){
cout<<"No";
return 0;
}else if(r[n]==o){
cout<<"Yes";
return 0;
}
int u=r[n];
for(int i=n-1;i>=0;i--){
if(u+r[i]<o){
u+=r[i];
}else if(u+r[i]==o){
cout<<"Yes";
return 0;
}
}
int L=r[n],A=r[n-1];
for(int i=0;i<=n-2;i++){
if(A+r[i]<=L){
A+=r[i];
}else{
L+=r[i];
}
}
if(L==A){
cout<<"Yes";
}else cout<<"No";
return 0;
}