Pagini recente » Cod sursa (job #2501725) | Cod sursa (job #3126169) | Cod sursa (job #2404398) | Cod sursa (job #3228196) | Cod sursa (job #1026106)
CONST
tfi ='invers.in';
tfo ='invers.out';
VAR
fi,fo :text;
s :string;
t :longint;
(************************************************************************)
Procedure lam;
Var
i,u,v,x,y,nho,k:longint;
dd :boolean;
Begin
if length(s)=1 then
begin
val(s,x);
if x mod 2=0 then writeln(fo,'Yes') else writeln(fo,'No');
exit;
end;
u:=1;v:=length(s);nho:=0;k:=0; dd:=true;
while u<=v do
begin
x:=ord(s[u])-48;
y:=(ord(s[v])-48-nho+10) mod 10;
nho:=k;
if (x-y+10) mod 10=0 then k:=0 else if (x-y+10) mod 10=1 then k:=1
else
begin
dd:=false;
break;
end;
if (u=v) and (y mod 2=1) then dd:=false;
inc(u);
dec(v);
end;
if (s[1]='1') and (dd=false) then
begin
u:=2;v:=length(s);nho:=0;k:=1;dd:=true;
while u<=v do
begin
x:=ord(s[u])-48;
y:=(ord(s[v])-48-nho+10) mod 10;
nho:=k;
if (x-y+10) mod 10=0 then k:=0 else if (x-y+10) mod 10=1 then k:=1
else
begin
dd:=false;
break;
end;
if (u=v) and (y mod 2=1) then dd:=false;
inc(u);
dec(v);
end;
end;
if dd then writeln(fo,'DA') else writeln(fo,'NU');
End;
(***********************************************************************)
BEGIN
assign(fi,tfi);reset(fi);
assign(fo,tfo);rewrite(fo);
readln(fi,t);
while t<>0 do
begin
readln(fi,s);
lam;
dec(t);
end;
close(fi);
close(fo);
END.