import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.HashMap; import java.util.Scanner; /** * * @author Ashu */ public class Solution { private static final HashMap dp = new HashMap<>(); private static ArrayList fact(long n) { ArrayList f = new ArrayList<>(); long div = 2; while (n > 1) { for (; n % div == 0; n /= div) { f.add(div); } div++; if (n < div * div) { if (n > 1) { f.add(n); } break; } } return f; } private static long maxMoves(long n) { if (n == 1) { return 1; } if (dp.get(n) == null) { Long mp = fact(n).stream().max(Long::compareTo).get(); long res = mp * maxMoves(n / mp) + 1; dp.put(n, res); } return dp.get(n); } public static void main(String... args) { Scanner scan = new Scanner(new BufferedReader(new InputStreamReader(System.in))); int n = scan.nextInt(); long[] arr = new long[n]; for (int i = 0; i < n; i++) { arr[i] = scan.nextLong(); } long res = 0; for (long i : arr) { res += maxMoves(i); } System.out.println(res); } }