maxlong=200;
Type
long=array[0..maxlong] of longint;
procedure readlong(var a: long);
var
s:string;
i:longint;
begin
readln(s);
for i:= 1 to length(s) do a[length(s)-i]:=ord(s[i])-ord('0');
for i:= length(s) to maxlong do a[i]:=0;
end;
Procedure writelong(a:long);
var i,j:longint;
begin
j:=0;
for i:=0 to maxlong do if a[i]>0 then j:=i;
for i:=j downto 0 do write (a[i]);
end;
procedure addlong(a,b:long; var c:long);
var i,s,p:longint;
begin
p:=0;
for i:=0 to maxlong do begin
s:=a[i]+b[i]+p;
if s>=10 then begin
c[i]:=s-10;
p:=1;
end else begin
c[i]:=s;
p:=0;
end;
end;
end;
procedure attlong(a,b:long; var c:long);
var i,s,p:longint;
begin
p:=0;
for i:=maxlong downto 0 do begin
s:=a[i]-b[i]-p;
if s<0 then begin
c[i]:=s+10;
p:=1;
end else begin
c[i]:=s;
p:=0;
end;
end;
end;
procedure check(a,b:long; var result:longint);
var i: integer;
begin
result:=0;
for i:= 0 to maxlong do begin
If a[i]>b[i] then begin
result:=1;
exit;
end else if a[i]<b[i] then begin
result:=-1;
exit;
end else
result:=0;
end;
end;
Procedure proiz(a,b:long; var c:long);
var p,r,n,i, j, m,z : longint;
flag:boolean;
begin
flag:= false;
p:=0;
for i:= 0 to maxlong do begin
r:=p+(a[i]*b[i]);
for i:= 0 to 9 do
if (r < (i*10)) and (Flag= false) then begin
Flag:=true;
z:=i-1;
end;
c[i]:=r-(z*10);
p:=Z;
flag:=false;
end;
end;
var a,b, c:long;
i:longint;
begin
readlong(a);
readlong(b);
proiz(a,b,c);
writelong(c);
writeln;
end.