#include<iostream>
using namespace std ;
int x;
void solution(int sum,int n){
if(x==1||x==2||x==3){//最后落在了moo
if(x==1){
cout<<"m";
return ;
}
else{
cout<<"o";
return ;
}
}
//在sn-1和sn-1中间的时候
if(x==(sum-3-n)/2+1){
cout<<"m";
return;
}
if(x>(sum-3-n)/2+1&&x<=(sum-3-n)/2+3+n){
cout<<"o";
return ;
}
//在两头即sn-1的时候
if(x>(sum-3-n)/2+3+n){
x = x-(sum-3-n)/2+3+n;
solution((sum-3-n)/2 , n-1);
}
else//在前面的sn-1里 ,不能省去因为只能保证第一个在后面那一节,不能保证后面的都在后面那一节,当递归一次(当前为sn时了)
//则x完全可以在前面的sn-1中.
{
solution((sum-3-n)/2 , n-1);
}
}
int main(void){
//输入需要查找的数字
cin>>x;
//找到应该存在的n:
int n=0;
int sum=3;
while(sum<x){
n++;
sum= 2*sum+n+3; //算出此时的sum
}
solution(sum,n);
return 0;
}