import math def miller_rabin(n): PRIMES_LE_31 = (2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31) if n == 2: return True if n % 2 == 0: return False if n in PRIMES_LE_31: return True r, s = 0, n - 1 while s % 2 == 0: r += 1 s //= 2 for a in [2, 3, 5, 7, 11]: x = pow(a, s, n) if x == 1 or x == n - 1: continue for _ in range(r - 1): x = pow(x, 2, n) if x == n - 1: break else: return False return True def sieve(N): s=[1 for i in range(N+1)] s[0]=0 s[1]=0 i=1 while i<=N: while i<=N and s[i]==0: i+=1 j=i+i while j<=N: s[j]=0 j+=i i+=1 res=[i for i in range(N,1,-1) if s[i]] return res def num_parts(x): if x==1: return 1 if D.get(x): return D[x] else: if miller_rabin(x): D[x]=1+x return D[x] lm=int(math.sqrt(x)) mpr=1 for i in range(2,lm+1): if x%i==0: if miller_rabin(x//i): mpr=max(mpr,x//i) if miller_rabin(i): mpr=max(mpr,i) D[x]=1+(mpr)*num_parts(x//mpr) return D[x] n=int(input()) a=list(map(int,input().split())) lm=int(math.sqrt(max(a))) res=0 D={} for i in range(n): res+=num_parts(a[i]) #print (D) #print (num_parts(24)) print (res)