#include<bits/stdc++.h>
using namespace std;
#define int long long
#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3)
#define pb push_back
#define mp make_pair
int n;
int a,b;
int x[8];
int y[8];
vector<pair<int,int> > v;
void dfs(){
for(int i=0;i<v.size();i++){
if(v[i].first==a&&v[i].second==b||v[i].first==b&&v[i].second==a){
cout<<"Yes";
exit(0);
}
}
for(int i=0;i<v.size();i++){
for(int j=i+1;j<v.size();j++){
int xx=v[i].first;
int yy=v[i].second;
int tx=v[j].first;
int ty=v[j].second;
if(v[i].first==v[j].first){
// if((v[i].first>a||v[i].second+v[j].second>b)&&(v[i].first>b&&v[i].second+v[j].second>a))continue;
v.pb(mp(v[i].first,v[i].second+v[j].second));
v.erase(v.begin()+i,v.begin()+i+1);
v.erase(v.begin()+j-1,v.begin()+j);
dfs();
v.insert(v.begin()+i,mp(xx,yy));
v.insert(v.begin()+j,mp(tx,ty));
v.pop_back();
}
if(v[i].first==v[j].second){
// if((v[i].first>a||v[i].second+v[j].first>b)&&(v[i].first>b||v[i].second+v[j].first>a))continue;
v.pb(mp(v[i].first,v[i].second+v[j].first));
// cout<<"make "<<v[i].first<<" "<<v[i].second+v[j].first<<"\n";
v.erase(v.begin()+i,v.begin()+i+1);
v.erase(v.begin()+j-1,v.begin()+j);
// for(int i=0;i<v.size();i++){
// cout<<v[i].first<<" "<<v[i].second<<"\n";
// }
dfs();
v.insert(v.begin()+i,mp(xx,yy));
v.insert(v.begin()+j,mp(tx,ty));
v.pop_back();
}
if(v[i].second==v[j].first){
v.pb(mp(v[i].second,v[i].first+v[j].second));
// cout<<"make "<<v[i].second<<" "<<v[i].first+v[j].second<<"\n";
v.erase(v.begin()+i,v.begin()+i+1);
v.erase(v.begin()+j-1,v.begin()+j);
dfs();
v.insert(v.begin()+i,mp(xx,yy));
v.insert(v.begin()+j,mp(tx,ty));
v.pop_back();
}
if(v[i].second==v[j].second){
v.pb(mp(v[i].first+v[j].first,v[i].second));
// cout<<"make "<<v[i].first+v[j].first<<" "<<v[i].second<<"\n";
v.erase(v.begin()+i,v.begin()+i+1);
v.erase(v.begin()+j-1,v.begin()+j);
dfs();
v.insert(v.begin()+i,mp(xx,yy));
v.insert(v.begin()+j,mp(tx,ty));
v.pop_back();
}
}
}
}
main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n>>a>>b;
for(int i=1;i<=n;i++){
cin>>x[i]>>y[i];
v.pb(mp(x[i],y[i]));
}
dfs();
cout<<"No";
return 0;
}
WA 了 3 个点,不懂为什么?