m = int(input()) k = 0 leng = 3 while leng < m : k = k + 1 leng = 2 * leng + 3 + k def DAC(x, l, n) : if x == 0 : if n == 1 : return 'm' else : return 'o' l = (l - 3 - x) // 2 x = x - 1 if n l + x + 4 : return DAC(x, l, n - l - x - 4) else : return 'o' print(DAC(k, leng, m)) n의 range가 10억이므로 순열을 직접 만들어서는 메모리 초과가 나올 것이다. 순열을 직접 만들지 않고 길이와 구성만 다루는 접근이 필요하다. S(k)는 세 부분으로 나눌 수 있다. 왼쪽 S(k-1), 가운데 moo..