import java.io.*;
import java.util.*;

import static java.lang.Math.min;

public class Solution {

    BufferedReader in;
    PrintWriter out;
    StringTokenizer tok;

    void init() {
        in = new BufferedReader(new InputStreamReader(System.in));
        out = new PrintWriter(System.out);
        tok = new StringTokenizer("");
    }

    String readString() throws IOException {
        while (!tok.hasMoreTokens()) {
            tok = new StringTokenizer(in.readLine());
        }
        return tok.nextToken();
    }

    int readInt() throws IOException {
        return Integer.parseInt(readString());
    }

    long readLong() throws IOException {
        return Long.parseLong(readString());
    }

    void run() throws IOException {
        init();
        solve();
        out.flush();
    }

    public static void main(String[] args) throws IOException {
        new Solution().run();
    }

    static class Rat implements Comparable<Rat> {
        int num, den;

        @Override
        public int compareTo(Rat o) {
            return num * o.den - den * o.num;
        }
    }

    int[] fib;

    void solve() throws IOException {
        fib = new int[64];
        fib[0] = 1;
        fib[1] = 2;
        for (int i = 2; i < 64; i++) {
            fib[i] = fib[i - 1] + fib[i - 2];
        }
        StringBuilder builder = new StringBuilder();
        int n = readInt();
        int pt = 0;
        for (int i = 0; i < n; i++) {
            if (fib[pt] == i + 1) {
                pt++;
                builder.append('O');
            } else {
                builder.append('o');
            }
        }
        out.print(builder.toString());
    }
}
