var a,b:array[1..100000] of longint; s1,s2:string; n,i,j,m,num,ans:longint; begin readln(n); ans:=0; for i:=2 to 36 do begin m:=n; num:=0; while m<>0 do begin inc(num); a[num]:=m mod i; m:=m div i; end; s1:=''; s2:=''; for j:=1 to num do begin s1:=s1+chr(a[j]+48); s2:=chr(a[j]+48)+s2; end; if s1=s2 then begin inc(ans); b[ans]:=i; end; end; writeln(ans); for i:=1 to ans do writeln(b[i]); end. /************************************************************** Problem: 2101 User: admin Language: Pascal Result: Wrong Answer ****************************************************************/