#!/bin/python3 import math from functools import reduce def primes_upto(n): sieve = [True] * n for i in range(3, int(math.sqrt(n)) + 1, 2): if sieve[i]: sieve[i*i::i+i] = [False] * ((n - i*i - 1) // (i+i) + 1) return [2] + list(i for i in range(3, n, 2) if sieve[i]) primes = primes_upto(1000000) # 10**6 = sqrt(10**12) primes_set = set(primes) def factors(n): if n == 1: return for p in primes: if n % p == 0: while n % p == 0: yield p n //= p if n == 1: return elif n in primes_set: yield n return yield n def longestSequence(a): # Return the length of the longest possible sequence of moves. return sum(reduce(lambda x, y: x*y + 1, factors(n), 1) for n in a) if __name__ == "__main__": n = int(input().strip()) a = list(map(int, input().strip().split(' '))) result = longestSequence(a) print(result)