uses math; const fi=''; fo=''; var fin,fout:text; n,m:longint; S:int64; a:array[1..1000000] of int64; function Cal(x:int64):int64; var i:longint; Sum:int64; begin m:=0; for i:=2 to trunc(sqrt(x)) do begin while x mod i=0 do begin inc(m); a[m]:=i; x:=x div i; end; end; if x<>1 then begin inc(m); a[m]:=x; end; Cal:=1; Sum:=1; for i:=m downto 1 do begin Cal:=Cal+Sum*a[i]; Sum:=Sum*a[i]; end; end; procedure Doc; var i:longint; x:int64; begin readln(fin,n); for i:=1 to n do begin read(fin,x); S:=S+Cal(x); end; writeln(fout,S); end; begin assign(fin,fi); assign(fout,fo); reset(fin);rewrite(fout); Doc; close(fin);close(fout); end.