{
TASK:N23
LANG:PASCAL
}



var a:longint;

Function HowMany(a:Longint):Longint;
var i:byte;
b,sum:longint;
Begin
b:=a;
sum:=0;
Repeat
if ((b div 10)<>0) then inc(sum);
b:=b div 10;
Until b=0;
hOWMANY:=SUM+1;
End;



Function NA10stepen(l:longint):Longint;
var i:byte;
sum:longint;
Begin
sum:=10;
For i:=2 to l do sum:=sum*10;
na10stepen:=sum;
End;

Function na2stepen(l:longint):longint;
var i:byte;
sum:longint;
Begin
sum:=2;
For i:=2 to l do sum:=sum*2;
na2stepen:=sum;
End;

Function  hris(k:longint):Longint;
const main=223232;
var
d,f,r,i:longint;
Begin
d:=na2stepen(k);
r:=main;
for i:=1 to 1000 do
begin
f:=main+32*na10stepen(HowMany(na2stepen(K)));
if (f mod na2stepen(k)=0)then begin writeln(f);exit;end;
end;
End;

Procedure Input;
Begin
Readln(a);
if (a=1) then begin writeln(2);exit;end;
if (a>=2) and (a<=5) then begin writeln(32);exit;end;
if (a=6) then begin writeln(23232);exit;end;
if (a>=7) and (a<=11) then begin writeln(223232);exit;end;
if (a=12) then begin writeln(32223232);exit;end;
hris(a);
End;


BEGIN
Input;
END.
