#!/bin/python3 from math import floor, sqrt def divisors(n): divisors = [] temp = [] for i in range(1, floor(sqrt(n)) + 1): if n % i: continue if not n // i == i: divisors.append(i) temp.append(n // i) else: divisors.append(i) while temp: d = temp.pop() divisors.append(d) return divisors def max_moves(n, lookup): if n in lookup: return lookup[n] div = divisors(n) lookup[n] = 1 + max([max_moves(d, lookup)*(n//d) for d in div if d != 1 and d != n], default=(0 if n == 1 else n)) return lookup[n] def longestSequence(a): # Return the length of the longest possible sequence of moves. lookup = dict() return sum(max_moves(i, lookup) for i in a) if __name__ == "__main__": n = int(input().strip()) a = list(map(int, input().strip().split(' '))) result = longestSequence(a) print(result)