use itertools::Itertools; use proconio::{input, marker::Bytes}; fn main() { input! { n: usize, s: Bytes, } if n == 1 && s[0] == b'o' { println!("No"); return; } for t in 0..2 { let mut d = s.windows(2).map(|w| w[0] == w[1]).collect_vec(); d.push(false); if t == 1 { d[0] ^= true; } let mut ans = String::from(if t == 0 { "L" } else { "R" }); let mut ok = s[0] == b'x'; for i in 0..n - 1 { if d[i] { ans.push('R'); d[i + 1] ^= true; } else { ans.push('L'); ok ^= true; } } if ok { println!("Yes"); println!("{ans}"); return; } } println!("No"); }