数论算法如下:

若正整数n可分解为(p1^a1)*(p2^a2)*…*(pk^ak)

其中pi为两两不同的素数,ai为对应指数

n的约数个数为(1+a1)*(1+a2)*….*(1+ak)

program poj2603;
const
  a:array[1..25] of integer=(2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97);
var
  s:array[1..25] of integer;
  data:array[1..10] of integer;
  i:integer;
  ans:longint;
procedure work;
var
  i,num,k,j:integer;
begin
  for i:=1 to 10 do
  begin
    num:=data[i];
    for j:=1 to 25 do
      if (a[j]<=num) and (num>1) then
      begin
        if (num mod a[j]=0) and (num>1) then
        begin
          while (num mod a[j]=0) and (num>1) do
          begin
            inc(s[j]);
            num:=num div a[j];
          end;
        end;
      end
      else break;
    if num>1 then
    begin
      k:=1;
      for j:=i+1 to 10 do
        if data[j] mod num=0 then
        begin
          data[j]:=data[j] div num;
          inc(k);
        end;
      ans:=ans*(k+1);
    end;
  end;
  for i:=1 to 25 do
    if s[i]<>0 then ans:=ans*(s[i]+1);
end;
begin
  fillchar(s,sizeof(s),0);
  fillchar(data,sizeof(data),0);
  for i:=1 to 10 do
    readln(data[i]);
  ans:=1;
  work;
  writeln(ans mod 10);
end.