#include #define llt long long int using namespace std; llt n; llt visited[200][200]; llt sy,sx,ey,ex; llt dy[6] = {-2,-2,0,2,2,0}; llt dx[6] = {-1,1,2,1,-1,-2}; string f[6] = {"UL","UR","R","LR","LL","L"}; void bfs(llt sy,llt sx,llt ey,llt ex) { queue > q; q.push({sy,sx}); while(!q.empty()) { llt ny = q.front().first; llt nx = q.front().second; q.pop(); for(llt i=0;i<6;i++) { llt y = ny + dy[i]; llt x = nx + dx[i]; if(y>=0 && y=0 && x> n; cin >> sy >> sx >> ey >> ex; bfs(sy,sx,ey,ex); if(visited[ey][ex] == -1) cout << "Impossible"; else { vector v; llt cnt=0; while(ey-sy != 0 || ex-sx!=0) { cnt++; llt i = visited[ey][ex]; v.push_back(f[i]); ey = ey - dy[i]; ex = ex - dx[i]; } cout << cnt << '\n'; for(llt i=v.size()-1;i>=0;i--) cout << v[i] << " "; } return 0; }