#!/bin/python3 import sys def notPrime(n): # Returns the smallest prime factor. Returns False if prime. if n not in hist_notPrime: for d in range(2, int(n**0.5) + 1): if n % d == 0: hist_notPrime[n] = d break if n not in hist_notPrime: hist_notPrime[n] = False return hist_notPrime[n] def largestPrime(n): # Returns the largest prime factor. if n not in hist_largestPrime: d = notPrime(n) if not d: hist_largestPrime[n] = n else: hist_largestPrime[n] = largestPrime(n // d) return hist_largestPrime[n] def longestSingle(stick): if stick not in hist: if stick == 1: hist[stick] = 0 else: d = largestPrime(stick) hist[stick] = 1 + d * longestSingle(stick // d) return hist[stick] def longestSequence(a): # Return the length of the longest possible sequence of moves. longest = 0 for stick in a: longest += longestSingle(stick) longest += sum(a) return longest if __name__ == "__main__": n = int(input().strip()) a = list(map(int, input().strip().split(' '))) hist = {} hist_largestPrime = {} hist_notPrime = {} result = longestSequence(a) print(result)