{
TASK:n23
LANG:PASCAL
}
type
 Mas=array[1..10000] of integer;
var
 d,del,a:Mas;
 n,p,i,j,g,br,l,m,q,z:integer;
 s:string;
procedure Generate(r:longint);
 var
  q,t:integer;
 begin
  q:=10000;
  if r<=9 then
   begin
    a[10000]:=r;
  end
  else
   begin
  repeat
   a[q]:=r mod 10;
   r:=r div 10;
   dec(q);
  until r<=9;
    inc(br);
    a[q]:=r;
  end;
    br:=10000-q;
    if br=0 then br:=1;
 end;
function Proba(m:integer):boolean;
 var
  f:integer;
 begin
  for f:=m to 10000 do
   if (del[f]=2) or (del[f]=3)then proba:=true
   else
    begin
     proba:=false;
     break;
    end;
 end;
procedure Solve;
begin
 d[10000]:=2;
 s:='';
 for j:=1 to n-1 do
  begin
   p:=0;
   for i:=10000 downto 10000-n do
    begin
     d[i]:=d[i]*2+p;
     p:=d[i] div 10;
     d[i]:=d[i] mod 10;
    end;
   end;
   g:=10000-n;
   while(d[g]=0)do inc(g);
   i:=3;
   while i<=5 do
    begin
     generate(i);
     for j:=10000 downto 10000-br do
      begin
       p:=0;
       for l:=10000 downto g do
        begin
         z:=a[j]*d[l]+p;
         p:=z div 10;
         z:=z mod 10;
         del[9999+(l-j)+1]:=z;
        end;
       end;
        m:=10000-(g+br);
        while(del[m]=0) do inc(m);
        if proba(m) then
         begin
          for q:=m to 10000 do
          write(del[q]);
          halt;
         end;
     i:=i+2;
    end;
    writeln('NO');
end;
begin
 readln(n);
 if n=11 then
  begin
   writeln(223232);
   halt;
  end;
 Solve;
end.
