#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int k,x;
long long int l,r;
char sk[110];
long long int len[55];
void end(int k,int l,int r);
int main(void){
len[1]=3;
for(int i=2;i<=50;i++){ //避免一直重複算,所以一次算好所有人的長度
len[i]=2*len[i-1]+3;
}
while(scanf("%d %lld %lld",&k,&l,&r)!=EOF){ //他不一定有幾次
end(k,l,r);
for(int j=0;j<r-l+1;j++){ //因為怕時間太久只考慮要印出的100個
printf("%c",sk[j]);
sk[j]='\0'; //有可能還要用所以清掉
}
printf("\n");
x=0;
}
return 0;
}
void end(int k,int l,int r){
for(int i=l;i<=r;i++){ //看看要印出的100(內)個是那些字(以下部分圖解)
if(i==0){
sk[x]='O';
x++;
}
if(0<i && i<len[k]/2){
if(r<len[k]/2){
end(k-1,i-1,r-1);
i=r;
}
else{
end(k-1,i-1,len[k-1]-1);
i=len[k]/2;
}
}
if(i==(len[k]/2)){
sk[x]='u';
x++;
}
if(len[k]/2<i && i<len[k]-1){
if(r<len[k]-1){
end(k-1,i-len[k-1]-2,r-len[k]/2-1);
i=r;
}
else{
end(k-1,i-len[k-1]-2,len[k-1]-1);
i=len[k]-2;
}
}
if(i==len[k]-1){
sk[x]='Q';
x++;
}
}
}