LSPITO - Help Conan ! (version 3)
Tác giả: flashmt
Ngôn ngữ: Pascal
var n:int64;
function calc(x,low,m:int64):int64;
begin
if low>m then calc:=x
else calc:=x+(m+low)*(m-low+1);
end;
function pr:boolean;
var x,l,r,m,low,y:int64;
begin
x:=1;
while x<=n do x:=x shl 2;
x:=x shr 2;
if n=x then exit(false);
l:=trunc(sqrt(x))+1;
x:=x-l+1;
r:=(l-1)*2;
low:=l;
while l<=r do
begin
m:=(l+r) shr 1;
y:=calc(x,low,m-1);
if y+m>n then
begin
r:=m-1; continue;
end;
if y+m*2<n then
begin
l:=m+1; continue;
end;
if (y+m=n) or (y+m*2=n) then exit(true)
else exit(false);
end;
pr:=false;
end;
begin
while not eof do
begin
read(n);
if n=0 then exit;
if pr then writeln('Thu Uyen')
else writeln('Conan');
end;
end.