Eleven wants to choose a new name for herself. As a bunch of geeks, her friends suggested an algorithm to choose a name for her. Eleven wants her name to have exactly n characters.  [Image] 

Her friend suggested that her name should only consist of uppercase and lowercase letters 'O'. More precisely, they suggested that the i-th letter of her name should be 'O' (uppercase) if i is a member of Fibonacci sequence, and 'o' (lowercase) otherwise. The letters in the name are numbered from 1 to n. Fibonacci sequence is the sequence f where  f_1 = 1,  f_2 = 1,  f_{n} = f_{n} - 2 + f_{n} - 1 (n > 2). 

As her friends are too young to know what Fibonacci sequence is, they asked you to help Eleven determine her new name.


-----Input-----

The first and only line of input contains an integer n (1 ≤ n ≤ 1000).


-----Output-----

Print Eleven's new name on the first and only line of output.


-----Examples-----
Input
8

Output
OOOoOooO

Input
15

Output
OOOoOooOooooOoo

Difficulty: interview

Starter code:

Solutions:
d = [1, 1]
n = int(input())
while d[-1] < n:
	d.append(d[-1] + d[-2])
s = set(d)
res = ''
for i in range(1, n + 1):
	if i in s:
		res += 'O'
	else:
		res += 'o'
print(res)

R = lambda type_ = "int": list(map(eval(type_), input().split(' ')))

n = int(input())

s = ['o'] * n

i = 1
j = 1

while j <= n:
    s[j - 1] = 'O'
    i, j = j, i + j

print(''.join(s))



n = int(input())
f = [1,1]
for i in range(n):
    f.append(f[-1]+f[-2])
f = set(f)
ans = []
for i in range(1, n+1):
    if i in f:
        ans.append('O')
    else:
        ans.append('o')
print(''.join(ans))



n = int(input())
a =1
b = 1
x = ['o' for _ in range(n)]
while (b <= n):
    x[b - 1] = 'O'
    a ^= b
    b ^= a
    a ^= b
    b = a + b

print(''.join(x))

n = int(input())

fibs = set()

a, b = 1, 1
while a <= 1000:
    a, b = b, a + b
    fibs.add(a)

print(''.join('O' if i in fibs else 'o' for i in range(1, n + 1)))


ar=[1]+[0]*(2000)
f1,f2=1,1
while f1 <= len(ar):
    ar[f1]=1
    f1,f2=f1+f2,f1
n=int(input())
s=""
for x in range(n):
    s+="O" if ar[x+1] else "o"
print(s)

n = int(input())
fib = [1, 1]
for i in range(2, 200):
    fib.append(fib[i - 1] + fib[i - 2])
for i in range(1, n + 1):
    if i in fib:
        print('O', end='')
    else:
        print('o', end='')

fib = [1, 1]
fibs = set()
fibs.add(1)
for i in range(50):
    fib.append(fib[-1]+fib[-2])
    fibs.add(fib[-1])
for i in range(1, int(input())+1):
    print("O" if i in fibs else "o", end="")


from collections import defaultdict
from collections import deque
from collections import Counter
import sys
sys.setrecursionlimit(1000000)
def fib():
    ls = [1,1]
    for i in range(100):
        ls.append(ls[-1] + ls[-2])
    return set(ls)
n = int(input())
s = []
f = fib()
for i in range(1,n+1):
    if i in f:
        s.append('O')
    else:
        s.append('o')
print(''.join(s))



fib1 = 1
fib2 = 2
n = int(input())
ans = 'O'
for i in range(2, 1 + n):
    if (i < fib2):
        ans += 'o'
    else:
        ans += 'O'
        fib1, fib2 = fib2, fib1 + fib2
print(ans)



def main():
    d = fib()
    n = int(input())
    s = ''
    for i in range(n):
        if i + 1 in d:
            s += 'O'
        else:
            s += 'o'
    print(s)

def fib():
    res = {1, 2}
    f1 = 1
    f2 = 2
    while f1 < 1010:
        res.add(f1 + f2)
        f1, f2 = f2, f1 + f2
    return res



main()
















n = int(input())
a = [0] * 1001
a[0] = 0
a[1] = 1
d = set()
d.add(0)
d.add(1)
for i in range(2, 1001):
    a[i] = a[i - 1] + a[i - 2]
    d.add(a[i])
s = ""
for i in range(1, n + 1):
    if i in d:
        s += "O"
    else:
        s += "o"
print(s)

def main():
  n = int(input())
  name = ["o"] * n
  b,c=1,1
  while c <= n:
    name[c - 1] = 'O'
    b,c = c,b+c


  print(''.join(name))


def __starting_point():
    main()
__starting_point()

f=[1,1]
for i in range(2,90):
  f.append(f[i-1]+f[i-2])
#print(f[-1])
n=int(input())
for i in range(1,n+1):
  if i in f:
    print("O",end="")
  else:
    print("o",end="")

n=int(input())
a=1
b=1
fib=[0 for i in range(1005)]
fib[1]=1
for i in range(20):
    try:
        a,b=b,a+b
        fib[b]=1
    except:
        break
for i in range(1,n+1):
    if fib[i]==1:
        print('O',end='')
    else:
        print('o',end='')
print()


N = int(input())
fib = [0, 1]
while fib[-1] < 1000:
	fib.append(fib[-1] + fib[-2])
for i in range(1, N + 1):
	print("O" if i in fib else "o", end="")
print()


n = int(input())

F = [1,2]
for i in range(100):
    F.append(F[-1]+F[-2])
F = set(F)

s = ''.join('O' if i in F else 'o' for i in range(1,n+1))
print(s)


n = int(input())
a = 1
b = 1
t = 2
while a+b <= n:
	c = b
	b = a+b
	a = c
	t = t+1
l = t*[1]
for i in range(2,t):
	l[i] = l[i-1]+l[i-2]
k = ''
for i in range(n):
	if i+1 in l:
		k = k+'O'
	else:
		k = k+'o'
print(k)


def gis():
    return list(map(int, input().strip().split()))


def gi():
    return int(input())


def gss():
    return input().strip().split()


def problem():
    n = gi()
    f0 = 1
    f1 = 1
    f = set()
    while f0 <= n:
        f.add(f0)
        c = f0+f1
        f0=f1
        f1=c
    name = ''
    for i in range(n):
        if (i+1) in f:
            name += 'O'
        else:
            name += 'o'
    print(name)

def __starting_point():
    problem()

__starting_point()

n = int(input())
fib = [1]
a = 1
b = 1
for i in range(0, 1000):
    b = a + b
    fib.append(b)
    if b > 1000:
        break
    a, b = b, a

s = ""

for i in range(1, n + 1):
    if i in fib:
        s += 'O'
    else:
        s += 'o'

print(s)


n = int(input())

ans = ['o' for _ in range(n)]
fib = [0, 1]
while fib[-1] < n:
    fib.append(fib[-2] + fib[-1])
for i in fib:
    if 0 < i <= n:
        ans[i - 1] = 'O'
print(''.join(ans))


n = int(input())
n1 = 1
n2 = 1
temp = n2
s = ["o"]*n
s[0] = "O"
while n >= n2:
    s[n2-1] = "O"
    temp = n2
    n2 = n1 + n2
    n1 = temp
for i in range(n):
    print(s[i],end="")


n = int(input())

fib = [1, 1]

while fib[-1] < n:
    fib.append(fib[-1] + fib[-2])

fib = set(fib)

print(''.join([('o', 'O')[i in fib] for i in range(1, n + 1)]))


n=int(input())
f=[1,1]
for i in range(2,20):
  f.append(f[i-1]+f[i-2])
for i in range(n):
  if(i+1 in f):
    print("O",end="")
  else:
    print("o",end="")