program mult_long; var a,b,c:array[0..1000] of integer; l,i,j,k:integer; f:text; N:INTEGER; ch:char; rez,des:integer; begin assign(f,'long.dat'); reset(f); for i:=0 to 1000 do a[i]:=0; while not(eoln(f)) do begin read(f,ch); if ch in ['0'..'9'] then begin for i:=a[0] downto 1 do a[i+1]:=a[i]; a[0]:=a[0]+1; a[1]:=ord(ch)-ord('0'); end; end; readLN(f,n); close (f); writeln(n); for i:=0 to a[0] do b[i]:=a[i]; for l:=2 to n do begin { *****} k:=0; for i:=0 to c[0] do c[i]:=0; for i:=1 to b[0] do begin des:=0; k:=i; for j:=1 to a[0] do begin rez:=(c[k]+a[j]*b[i]+des) mod 10; des:=(c[k]+a[j]*b[i]+des) div 10; c[k]:=rez; k:=k+1; end; c[0]:=k-1; if des>0 then begin c[0]:=c[0]+1; c[c[0]]:=des; end; end; { *****} for i:=0 to c[0] do a[i]:=c[i]; end; assign(f,'long.sol'); rewrite(f); {WHILE C[c[0]]=0 do c[0]:=c[0]-1;} FOR i:=c[0] downto 1 do write(f,c[i]); close(f); end.