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 total = 0; for(long each:a){ if(each == 1){ total++; } else{ total+=getEach(each)+each; } } return total; } static long getEach(long each){ long sub = 0; if(each > 1){ if(each%2 == 0){ sub=each/2+getEach(each/2); } else{ boolean p = true; for(int i=3;i<=Math.sqrt(each);i+=2){ if(each%i == 0){ p = false; sub=each/i+getEach(each/i); break; } } if(p)sub=1; } } return sub; } 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(); } }