#include using namespace std; #define fill(x,y) memset(x,y,sizeof(x)) #define fi first #define se second #define sz(x) ((int) (x).size()) #define all(x) (x).begin(), (x).end() #define sqr(x) ((x) * (x)) #define sqrt(x) sqrt(abs(x)) #define mp make_pair #define pb push_back #define read(x) scanf("%d",&x) #define read2(x,y) scanf("%d%d",&x,&y) #define read3(x,y,z) scanf ("%d%d%d",&x,&y.&z) typedef long long ll; typedef string s; typedef pair pii; typedef pair pis; typedef pair psi; typedef pair pss; typedef vector vi; typedef vector vvi; typedef vector vpii; typedef vector > matrix; const ll oo = 1e6; const double EPS = (1e-7); int dcmp(double x, double y) { return fabs(x-y) <= EPS ? 0 : x < y ? -1 : 1; } void intimain(){ ios_base::sync_with_stdio(0); freopen("1.txt","r",stdin); freopen("out.txt","w",stdout); } map mapy = {{"UL", 0},{"UR", 1},{"R" , 2},{"LR", 3},{"LL" , 4},{"L" , 5}}; bool comp(string a, string b){ return mapy[a] < mapy[b]; } void solve(){ int n,sx,dx,sy,dy ; cin >> n >> dx >> dy >> sx >> sy ; vector seq ; while(true){ if(sx==dx && sy==dy)break; if(sy == dy && dx <= sx && dx+2 <= sx && dy-1 >= 0){ seq.pb("LL") ; dx+=2 ; dy-=1 ; }else if(sy == dy && dx <= sx && dx+2 <= sx && dy+1 < n){ seq.pb("LR") ; dx+=2 ; dy+=1 ; }else if(sy == dy && dx >= sx && dx-2 >= sx && dy-1 >= 0){ seq.pb("UL") ; dx-=2 ; dy-=1 ; }else if(sy == dy && dx >= sx && dx-2 >= sx && dy+1 < n){ seq.pb("UR") ; dx-=2 ; dy+=1 ; } else if(dy > sy && dx > sx && dx-2 >= sx && dy-1 >= sy){ seq.pb("UL") ; dx-=2 ; dy-=1 ; }else if(dy > sy && dx < sx && dx+2 <= sx && dy-1 >= sy){ seq.pb("LL") ; dx+=2 ; dy-=1 ; }else if(dy < sy && dx > sx && dx-2 >= sx && dy+1 <= sy){ seq.pb("UR") ; dx-=2 ; dy+=1 ; }else if(dy < sy && dx < sx && dx+2 <= sx && dy+1 <= sy){ seq.pb("LR") ; dx+=2 ; dy+=1 ; } else if(dy <= sy && dy+2 <= sy){ seq.pb("R") ; dy+=2 ; }else if(dy >= sy && dy-2 >= sy){ seq.pb("L") ; dy-=2 ; }else { cout << "Impossible" ; return; } } sort(seq.begin(), seq.end(), comp); cout << seq.size() << "\n"; for(int i=0;i