package main import . "fmt" import . "sort" func main() { var n int Scan(&n) p := make(IntSlice, n) for i := range p { Scan(&p[i]) } ans := solve(p) Println(ans) } func solve(p IntSlice) string { s := make([]byte, 0, 2e4) x := 0 for { if x == 0 && IsSorted(p) { return string(s) } if p[x] > p[x+1] { p.Swap(x, x+1) s = append(s, 'S') } else { x++ s = append(s, 'R') if x+1 == p.Len() { x = 0 s = append(s, 'R') } } } } func init() { check() } func check() { p := make(IntSlice, 100) for j := 0; j < p.Len(); j++ { for i := range p { p[(i+j)%p.Len()] = p.Len()-1-i } ans := solve(p) if len(ans) > 2e4 { println(len(ans)) panic("bug") } } }