#include #include #include #include #include using namespace std; bool compare(string s1, string s2){ vector pm(6); pm[0] = "UL "; pm[1] = "UR "; pm[2] = "R "; pm[3] = "LR "; pm[4] = "LL "; pm[5] = "L "; int a, b; for(int i = 0; i < 6; i++){ if(s1 == pm[i]){a = i;} if(s2 == pm[i]){b = i;} } return a < b; } int main() { int n,a,b,c,d; cin >> n; cin >> a >> b >> c >> d; vector pm(6); pm[0] = "UL "; pm[1] = "UR "; pm[2] = "R "; pm[3] = "LR "; pm[4] = "LL "; pm[5] = "L "; vector v; if(a % 2 != c % 2){ cout << "Impossible" << endl; }else if(abs(a - c) % 4 == 0 && abs(b - d) % 2 == 1){ cout << "Impossible" << endl; }else if(abs(a - c) % 4 == 2 && abs(b - d) % 2 == 0){ cout << "Impossible" << endl; }else{ while(a != c && b != d){ if(a > c && b > d){ v.push_back(pm[0]); a -= 2; b--; }else if(a > c && b < d){ v.push_back(pm[1]); a -= 2; b++; }else if(a < c && b > d){ v.push_back(pm[4]); a += 2; b--; }else{ v.push_back(pm[3]); a += 2; b++; } } while(b != d){ if(b < d){ v.push_back(pm[2]); b += 2; }else if(b > d){ v.push_back(pm[5]); b -= 2; } } while(a != c){ if(a < c){ v.push_back(pm[3]); v.push_back(pm[4]); a += 4; }else if(a > c){ v.push_back(pm[0]); v.push_back(pm[1]); a -= 4; } } cout << v.size() << endl; sort(v.begin(), v.end(), compare); for(int i = 0; i < v.size(); i++){ cout << v[i]; } } return 0; }