program porte_bonheur;
uses crt;
type tab=array[1..30] of integer;
var n:integer; t:tab;
procedure saisie(var n:integer);
begin
repeat readln(n) until (n in [5..30]); end;
procedure remplir(n:integer; var t:tab);
var i:integer; s:string;
begin
for i:=1 to n do begin
repeat readln(t[i]); str(t[i],s); until (length(s)=4); end;
end;
function crois(x:integer):boolean;
var s:string; j,m1,m2,m3:integer; test:boolean;
begin
str(x,s); test:=true;
for j:=1 to (length(s)-2) do begin
val(s[j],m1); val(s[j+1],m2); val(s[j+2],m3);
if ((m1-m2)<>(m2-m3)) then test:=false;
end;
crois:=test;
end;
procedure trait(n:integer; t:tab);
var i:integer;
begin
for i:=1 to n do begin
if (crois(t[i])=true) then writeln(t[i]);
end;
end;
begin
saisie(n);
remplir(n,t);
trait(n,t);
end.
cHJvZ3JhbSBwb3J0ZV9ib25oZXVyOwp1c2VzIGNydDsKdHlwZSB0YWI9YXJyYXlbMS4uMzBdIG9mIGludGVnZXI7CnZhciBuOmludGVnZXI7IHQ6dGFiOwoKcHJvY2VkdXJlIHNhaXNpZSh2YXIgbjppbnRlZ2VyKTsKYmVnaW4KcmVwZWF0IHJlYWRsbihuKSB1bnRpbCAobiBpbiBbNS4uMzBdKTsgZW5kOwoKcHJvY2VkdXJlIHJlbXBsaXIobjppbnRlZ2VyOyB2YXIgdDp0YWIpOwp2YXIgaTppbnRlZ2VyOyBzOnN0cmluZzsKYmVnaW4KZm9yIGk6PTEgdG8gbiBkbyBiZWdpbgpyZXBlYXQgcmVhZGxuKHRbaV0pOyBzdHIodFtpXSxzKTsgIHVudGlsIChsZW5ndGgocyk9NCk7IGVuZDsKZW5kOwoKZnVuY3Rpb24gY3JvaXMoeDppbnRlZ2VyKTpib29sZWFuOwp2YXIgczpzdHJpbmc7IGosbTEsbTIsbTM6aW50ZWdlcjsgdGVzdDpib29sZWFuOwpiZWdpbgpzdHIoeCxzKTsgdGVzdDo9dHJ1ZTsKZm9yIGo6PTEgdG8gKGxlbmd0aChzKS0yKSBkbyBiZWdpbgp2YWwoc1tqXSxtMSk7IHZhbChzW2orMV0sbTIpOyB2YWwoc1tqKzJdLG0zKTsKaWYgKChtMS1tMik8PihtMi1tMykpIHRoZW4gdGVzdDo9ZmFsc2U7CmVuZDsKY3JvaXM6PXRlc3Q7CmVuZDsKCnByb2NlZHVyZSB0cmFpdChuOmludGVnZXI7IHQ6dGFiKTsKdmFyIGk6aW50ZWdlcjsKYmVnaW4KZm9yIGk6PTEgdG8gbiBkbyBiZWdpbiAKaWYgKGNyb2lzKHRbaV0pPXRydWUpIHRoZW4gd3JpdGVsbih0W2ldKTsKZW5kOwplbmQ7CgpiZWdpbgpzYWlzaWUobik7CnJlbXBsaXIobix0KTsKdHJhaXQobix0KTsKZW5kLgo=