有5个点一直过不了……
(果真今天不宜刷题)
[codep]
var n,p:int64;
i:longint;
procedure try(a,b:int64);
begin
if ((a-b-3) shr 1<n)and(n<=(a-(a-b-3) shr 1)) then
begin
if (n-((a-b-3) shr 1))<>1 then writeln('o')
else writeln('m');
halt;
end;
if (a-b-3) shr 1>n then
try((a-b-3) shr 1,p-1) else
begin
n:=n-(a-(a-b-3) shr 1);
try((a-b-3) shr 1,p-1)
end;
end;
begin
readln(n);
for i:=0 to 100000 do
begin
p:=p*2+i+3;
if p>n then
break;
end;
try(p,i)
end.
[/codep]