from __future__ import print_function

def dot(x, y):
    m, n, p = len(x), len(x[0]), len(y[0])

    matrix = [[0]*p for i in xrange(m)]
    for i in xrange(m):
        for k in xrange(p):
            for j in xrange(n):
                matrix[i][k] += x[i][j] * y[j][k]
            matrix[i][k] %= modulo

    return matrix

def modpow(matrix, n):
	if n == 1: return matrix

	s = modpow(matrix, n / 2)
	s = dot(s, s)
	if n & 1: s = dot(s, matrix)
	return s

def fibo(n):
    if n == 0 or n == 1:
        return 1

    S = [[1, 1], [1, 0]]
    S = modpow(S, n)
    return dot(S, [[1], [0]])[0][0]

modulo = 10**9 + 7

f = set([])
for i in xrange(500):
	f.add(fibo(i))

for i in xrange(1, int(raw_input()) + 1):
	print('O' if i in f else 'o', end='')