import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { static long minDiv(long a) { if (a % 2 == 0) return 2; else { long sqrt = (long) Math.sqrt(a); for (long i = 3; i <= sqrt; i++) { if (a % i == 0) return i; } } return 1; } static long longestSequence(long[] a) { long maxMoves = 0; for (long num : a) { if (num == 1) { maxMoves++; continue; } long minDiv = minDiv(num); if (minDiv == 1) { maxMoves += 1 + num; continue; } long lastMove = num / minDiv; long localMoves = num; long end = num / 2; for (long i = minDiv; i <= end; i++) { if(i % minDiv == 0 && num % i == 0 && num % (num / i) == 0) { minDiv = i; lastMove = num / minDiv; localMoves += lastMove; i += minDiv - 1; } } localMoves += 1; maxMoves += localMoves; } return maxMoves; } 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(); } }