//{ #include using namespace std; typedef long long ll; typedef double lf; typedef pair ii; #define REP(i,n) for(ll i=0;i ostream& operator << (ostream &_s,const pair<_a,_b> &_p){return _s<<"("<<_p.X<<","<<_p.Y<<")";} template ostream& _OUTC(ostream &_s,It _ita,It _itb) { _s<<"{"; for(It _it=_ita;_it!=_itb;_it++) { _s<<(_it==_ita?"":",")<<*_it; } _s<<"}"; return _s; } template ostream &operator << (ostream &_s,vector<_a> &_c){return _OUTC(_s,ALL(_c));} template ostream &operator << (ostream &_s,set<_a> &_c){return _OUTC(_s,ALL(_c));} template ostream &operator << (ostream &_s,map<_a,_b> &_c){return _OUTC(_s,ALL(_c));} template void pary(_t _a,_t _b){_OUTC(cerr,_a,_b);cerr<=0&&x=0&&y>n; ll x,y; cin>>x>>y; FILL(dis,-1); dis[x][y]=0;trs[x][y]=-1; queue q; q.push(ii(x,y)); while(SZ(q)) { x=q.front().X,y=q.front().Y; q.pop(); REP(i,6) { ll tx=x+dx[i],ty=y+dy[i]; if(!ok(tx,ty)||dis[tx][ty]!=-1)continue; dis[tx][ty]=dis[x][y]+1; trs[tx][ty]=i; q.push(ii(tx,ty)); } } cin>>x>>y; if(dis[x][y]==-1){cout<<"Impossible"< dt; while(trs[x][y]!=-1) { ll t=trs[x][y]; dt.pb(nm[t]); x-=dx[t],y-=dy[t]; } reverse(ALL(dt)); REP(i,SZ(dt))cout<