import bisect
from collections import defaultdict
from collections import deque
import math
import re
import sys

def ni():
    return int(raw_input())

def nis():
    return map(int, raw_input().split())

def si():
    return raw_input()

def sis():
    return raw_input().split()

def spaced(a):
    return ' '.join(map(str, a))

def fib():
    a = 1
    b = 1
    yield 1
    while True:
        c = a + b
        if c >= n + 1:
            return
        yield c
        a = b
        b = c

n = ni()

ans = ['o'] * n

f = fib()
for i in f:
    ans[i - 1] = 'O'

print ''.join(ans)