(* Find all integers between 1 and 210 whose squares are
  palindromes, e.g. 11^2 = 121, 22^2 = 484. *)

MODULE palindromes;

FROM InOut IMPORT ReadCard, WriteCard, WriteLn, WriteString;

VAR i,j,l,n,r,s: CARDINAL;
   p: BOOLEAN;
   d: ARRAY [1..10] OF CARDINAL;

BEGIN
 n := 0;
 REPEAT
   INC(n); s := n*n;
   l := 0;
   REPEAT
     INC(l); r := s DIV 10;
     d[l] := s - 10*r; s := r;
   UNTIL s = 0;
   i := 1; j := l;
   REPEAT
     p := d[i]=d[j];
     INC(i); DEC(j);
   UNTIL (i >= j) OR NOT p;
   IF p THEN WriteCard(n,6); WriteCard(n*n,6); WriteLn END;
 UNTIL n = 210
END palindromes.