#define _GLIBCXX_DEBUG #include using namespace std; using ll = long long; template void dbg(const vector& v) { cerr << "["; for (size_t i = 0; i < v.size(); ++i) { if (i) cerr << ", "; cerr << v[i]; } cerr << "]\n"; } #define show(x) cerr << #x " = " << (x) << '\n' void YesNo(bool d) { if (d) cout << "Yes" << '\n'; else cout << "No" << '\n'; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n; string s; cin >> n >> s; string rans,lans,ans; bool d = 0, r = 1; bool last = 0; for (int i = 1; i < n; i++) { if ((s[i-1] == s[i] && !last) || (s[i-1] != s[i] && last)){ rans.push_back('L'); last = 1; } else { r = r^1; rans.push_back('R'); last = 0; } } if (r == 1 && last == 1) { r = 0; last = 0; } if ((!(r+last) && s[n-1]=='o')||((r+last) && s[n-1]=='x')) { d ^= 1; ans.push_back('R'); ans = ans + rans; goto next; } r = 0, last = 1; for (int i = 1; i < n; i++) { if ((s[i-1] == s[i] && !last) || (s[i-1] != s[i] && last)){ lans.push_back('L'); last = 1; } else { r = r^1; lans.push_back('R'); last = 0; } } if (r == 1 && last == 1) { r = 0; last = 0; } if ((!(r+last) && s[n-1]=='o')||((r+last) && s[n-1]=='x')) { d ^= 1; ans.push_back('L'); ans = ans + lans; } next: YesNo(d); if (d) cout << ans <<'\n'; } // このテンプレートは https://yukicoder.me/users/24957/ai_code/11 で公開しています