#!/bin/python3 import sys import functools @functools.lru_cache(maxsize=None) def factor(n): assert n != 1 if n == 2 or n == 3: return (n,) if n % 2 == 0: b = factor(n//2) return b if b[0] == 2 else (2,) + b if n % 3 == 0: b = factor(n//3) return b if 3 in b[:2] else (3,) + b p = 5 while n != 1 and p <= n ** 0.5: if n % p == 0: b = factor(n//p) return b if p in b else (p,) + b p += 2 if n % p == 0: b = factor(n//p) return b if p in b else (p,) + b p += 4 if n != 1: return (n,) @functools.lru_cache(maxsize=None) def f(n): if n == 1: return 0 factors = factor(n) if factors[0] == n: return 1 return 1+max((p*f(n//p)) for p in factors) def longestSequence(a): # Return the length of the longest possible sequence of moves. return sum(n + f(n) for n in a) if __name__ == "__main__": n = int(input().strip()) a = list(map(int, input().strip().split(' '))) result = longestSequence(a) print(result)