import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { static long longestSequence(long[] a) { // Return the length of the longest possible sequence of moves. long sum = 0; for(long stick: a){ if(stick == 1){ sum += 1; continue; } ArrayList primes = primeFactors(stick); Collections.sort(primes, Collections.reverseOrder()); long temp = 0; while(primes.size() != 1){ temp += product(primes); primes.remove(primes.size()-1); } temp += primes.get(0); temp += 1; sum += temp; } return sum; } private static long product(ArrayList nums){ long p = 1; for(long num: nums){ p *= num; } return p; } private static ArrayList primeFactors(long num){ ArrayList primeFactors = new ArrayList<>(); long n = num; for(long i=2; i<=n/i; i++){ while(n % i == 0){ primeFactors.add(i); n /= i; } } if(n>1) primeFactors.add(n); return primeFactors; } public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); long[] a = new long[n]; for(int a_i = 0; a_i < n; a_i++){ a[a_i] = in.nextLong(); } long result = longestSequence(a); System.out.println(result); in.close(); } }