#include #define f first #define c second #define mp make_pair using namespace std; queue< pair< pair , int> > cola; pair resp[250][250]; pair ini,fin; pair< pair , int > p,h; int n; bool use[250][250]; int dx[]={-1,1,2,1,-1,-2}; int dy[]={-2,-2,0,2,2,0}; void path(int ff,int cc){ if(ff == ini.f && cc == ini.c) return; int number = -1,fff=resp[ff][cc].f,ccc=resp[ff][cc].c; for(int i = 0; i<6; i++){ if(fff + dy[i] == ff && ccc + dx[i] == cc){ number = i; break; } } path(fff,ccc); if(number == 0) cout << "UL "; if(number == 1) cout << "UR "; if(number == 2) cout << "R "; if(number == 3) cout << "LR "; if(number == 4) cout << "LL "; if(number == 5) cout << "L "; return; } int main() { ios::sync_with_stdio(false); cin >> n; cin >> ini.f >> ini.c >> fin.f >> fin.c; use[ini.f][ini.c] = true; cola.push(mp(ini,0)); while(!cola.empty()){ p = cola.front(); cola.pop(); if(p.first.f == fin.f && p.first.c == fin.c){ cout << p.second << "\n"; path(fin.f,fin.c); return 0; } for(int i = 0; i<6; i++){ h = p; h.second++; h.first.c+=dx[i]; h.first.f+=dy[i]; if(h.first.f>=0 && h.first.f=0 && h.first.c