#include <bits/stdc++.h>
using namespace std;
long long n, a[1001], m, cnt, cnt1, cnt2;
bool ch1, ch2, ch, ok1, ok2, ok, checked;
string s[1000100], s1, s2, anss[100100];
vector<string> ans, v;
map<string, int> myMap;
template <typename T>
string NumberToString(T Number) {
  ostringstream ss;
  ss << Number;
  return ss.str();
}
long long fibo(long long n) {
  if (n == 1 || n == 0) {
    return 1;
  }
  return fibo(n - 2) + fibo(n - 1);
}
long long fiboArr[100100];
int main() {
  cin >> n;
  fiboArr[0] = 1;
  fiboArr[1] = 1;
  for (long long i = 2; i < 1000; i++) {
    fiboArr[i] = fiboArr[i - 1] + fiboArr[i - 2];
  }
  for (long long i = 0; i < n; i++) {
    s1 += "o";
  }
  for (long long i = 0; i < 50; i++) {
    if (fiboArr[i] <= n) {
      s1[fiboArr[i] - 1] = 'O';
    }
  }
  cout << s1;
  return 0;
}
