#include <bits/stdc++.h>
using namespace std;
const int N=1005;
int n;
int num[N];
struct Node{
int x,y,now,f;
};
queue<Node>q;
int fx,fy;
const int dx[]={0,0,1,-1};
const int dy[]={1,-1,0,0};
inline bool bfs(){
int bx=0,by=0;
q.push({num[1],by,1,2});
while (!q.empty()){
Node tmp=q.front();
q.pop();
// printf("x:%d y:%d now:%d f:%d\n",tmp.x,tmp.y,tmp.now,tmp.f);
int id=tmp.now+1;
int ff=tmp.f;
if (id==n+1&&tmp.x==fx&&tmp.y==fy)
return true;
if (id==n+1)
continue;
for (int i=0;i<4;i++){
if (i==0&&ff==1)continue;
if (i==1&&ff==0)continue;
if (i==2&&ff==3)continue;
if (i==3&&ff==2)continue;
if (i==0&&ff==0)continue;
if (i==1&&ff==1)continue;
if (i==2&&ff==2)continue;
if (i==3&&ff==3)continue;
int x,y;
x=tmp.x+dx[i]*num[id];
y=tmp.y+dy[i]*num[id];
q.push({x,y,id,i});
}
}
return false;
}
signed main(){
// freopen ("D.in","r",stdin);
// freopen ("D.out","w",stdout);
scanf("%d",&n);
scanf("%d%d",&fx,&fy);
for (int i=1;i<=n;i++)scanf("%d",&num[i]);
puts(bfs()?"Yes":"No");
}
虽然但是,不会调