program savotiski_skaiciai;
  { 92 u‘davinys }

  function atbulas (sk : longint) : longint;
   { skai‡iaus sk perražymas atbulai, t. y. iž kito galo }
      var atb: longint;
  begin
    atb := 0;
    repeat
      atb := atb * 10 + sk mod 10;
      sk := sk div 10
   until sk = 0;
   atbulas := atb
  end;

  function nuliai (sk : longint) : boolean;
    { ar tarp skai‡iaus sk skaitmen— yra nuli— }
    var yra : boolean;
  begin
    yra := false;
    while (sk <> 0) and not yra do
      begin
        yra := sk mod 10 = 0;
        sk := sk div 10
      end;
    nuliai := yra;
  end;

  function palindromas (sk : longint) : boolean;
    { nustato, ar skai‡ius yra palindromas }
  begin
    palindromas := sk = atbulas (sk);
  end;

  function dalijasi (sk : longint) : boolean;
    { nustato, ar skai‡ius sk dalijasi iž savo skaitmen— }
    { tarp skaitmen— tikrai n‚ra nuli— }
    var gerai : boolean;
        prad : longint; { skai‡iaus sk kopjia }
  begin
    gerai := true;
    prad := sk;
    while (sk <> 0) and gerai do
      begin
        gerai := prad mod (sk mod 10) = 0;
        sk := sk div 10;
      end;
    dalijasi := gerai
  end;

  var min, max,  { n-‘enkli— skai‡i— intervalas }
      i, n, sk : longint;
      yra: boolean;  { ar yra iežkom— skai‡i— }
begin
  readln (n);
  min := 1;
  for i := 2 to n do
    min := min * 10 + 1;
  max := min * 9;
  yra := false;
  for sk := min to max do
     if not nuliai (sk) and not palindromas (sk)
        then if dalijasi (sk) and dalijasi (atbulas (sk))
                then begin
                       writeln (sk);
                       yra := true
                      end;
  if not yra
     then writeln ('N‚ra');
end.

