#include #define fi first #define se second #define rep(i,s,n) for (int i = (s); i < (n); ++i) #define rrep(i,g,n) for (int i = (n)-1; i >= (g); --i) #define all(a) a.begin(),a.end() #define rall(a) a.rbegin(),a.rend() #define len(x) (int)(x).size() #define dup(x,y) (((x)+(y)-1)/(y)) #define pb push_back #define eb emplace_back #define Field(T) vector> using namespace std; using ll = long long; using ull = unsigned long long; template using pq = priority_queue,greater>; using P = pair; templatebool chmax(T&a,T b){if(abool chmin(T&a,T b){if(b> n >> s; string t1 = "L", t2 = "R"; rep(i,1,n) { t1 += (s[i-1]!=s[i] ? t1.back() : t1.back()^'L'^'R'); t2 += (s[i-1]!=s[i] ? t2.back() : t2.back()^'L'^'R'); } // cout << t1 << " " << t2 << endl; function f = [&](string u) { vector imos(n+1); rep(i,0,n) { if (u[i] == 'L') ++imos[0], --imos[i+1]; else ++imos[i], --imos[n]; } rep(i,0,n) imos[i+1] += imos[i]; // rep(i,0,n) cout << imos[i] << " "; // cout << endl; rep(i,0,n) { if (((s[i]=='x')+imos[i])%2) { return 0; } } return 1; }; if (f(t1)) cout << "Yes" << endl << t1 << endl; else if (f(t2)) cout << "Yes" << endl << t2 << endl; else cout << "No" << endl; return 0; }