#!/bin/python3 import sys from random import randrange def primesbelow(N): # http://stackoverflow.com/questions/2068372/fastest-way-to-list-all-primes-below-n-in-python/3035188#3035188 #""" Input N>=6, Returns a list of primes, 2 <= p < N """ correction = N % 6 > 1 N = {0:N, 1:N-1, 2:N+4, 3:N+3, 4:N+2, 5:N+1}[N%6] sieve = [True] * (N // 3) sieve[0] = False for i in range(int(N ** .5) // 3 + 1): if sieve[i]: k = (3 * i + 1) | 1 sieve[k*k // 3::2*k] = [False] * ((N//6 - (k*k)//6 - 1)//k + 1) sieve[(k*k + 4*k - 2*k*(i%2)) // 3::2*k] = [False] * ((N // 6 - (k*k + 4*k - 2*k*(i%2))//6 - 1) // k + 1) return [2, 3] + [(3 * i + 1) | 1 for i in range(1, N//3 - correction) if sieve[i]] smallprimes = primesbelow(1000001) # might seem low, but 1000*1000 = 1000000, so this will fully factor every composite < 1000000 dp = {} for s in smallprimes: dp[s] = True def is_prime(n, k=10): if n in dp: return True if n == 2: return True if not n & 1: return False def check(a, s, d, n): x = pow(a, d, n) if x == 1: return True for i in range(s - 1): if x == n - 1: return True x = pow(x, 2, n) return x == n - 1 s = 0 d = n - 1 while d % 2 == 0: d >>= 1 s += 1 for i in range(k): a = randrange(2, n - 1) if not check(a, s, d, n): return False return True def primefactors(n, sort=False): factors = [] for checker in smallprimes: while n % checker == 0: factors.append(checker) n //= checker if checker > n: break if n != 1: factors.append(n) if sort: factors.sort() return factors def solve(n): if n == 1: return 1 som = 1 if is_prime(n): ps = [n] else: ps = primefactors(n, sort=True) #print (n, ps) for i in range(len(ps)): if i == 0: som = ps[i] + 1 else: som = ps[i]*som + 1 return som def longestSequence(a): som = 0 for m in a: som += solve(m) return som if __name__ == "__main__": n = int(input().strip()) a = list(map(int, input().strip().split(' '))) result = longestSequence(a) print(result)