#include <bits/stdc++.h>
using namespace std;
struct edge {
  long long int A;
  long long int B;
};
bool edgecompare(edge lhs, edge rhs) {
  if (lhs.B != rhs.B)
    return lhs.B < rhs.B;
  else
    return lhs.A < rhs.A;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long int n, m, i, j, k, flag = 0, a[100005];
  string str;
  map<long long int, long long int> Map;
  set<long long int> S;
  set<long long int, greater<long long int> >::iterator itr;
  S.insert(1);
  S.insert(2);
  i = 2;
  j = 1;
  while (i < 1000 && j < 1000) {
    long long int temp = i;
    i = i + j;
    j = temp;
    S.insert(i);
  }
  cin >> n;
  for (i = 1; i <= n; i++) {
    if (S.find(i) != S.end())
      cout << "O";
    else
      cout << "o";
  }
  return 0;
}
