#!/bin/python3 import sys import math def get_prime_factors(N, prime_numbers): if N in range(4): return {N: 1} sorting_required = 0 factors = {} t = N for i in range(len(prime_numbers)): if prime_numbers[i] > math.floor(math.sqrt(N)) + 1: break if t == 1: break if t % prime_numbers[i] == 0: factors[prime_numbers[i]] = 0 while t % prime_numbers[i] == 0: factors[prime_numbers[i]] += 1 t //= prime_numbers[i] while t > 1: curr_t = t for i in range(2, math.floor(math.sqrt(t)) + 1): if t == 1: break if t % i == 0: factors[i] = 0 while t % i == 0: factors[i] += 1 t //= i prime_numbers.append(i) sorting_required = 1 if t == curr_t: factors[t] = 1 t //= t prime_numbers.append(curr_t) sorting_required = 1 if sorting_required: prime_numbers.sort() return factors def longestSequence(A): # Return the length of the longest possible sequence of moves. steps = 0 prime_numbers = [2, 3, 5, 7, 11, 13, 17, 19] for a in A: if a == 1: steps += 1 continue prime_factors = get_prime_factors(a, prime_numbers) val = 1 steps += val for factor in sorted(prime_factors, reverse=True): for _ in range(prime_factors[factor]): val = val * factor steps += val return steps if __name__ == "__main__": n = int(input().strip()) A = list(map(int, input().strip().split(' '))) result = longestSequence(A) print(result)