using System; using System.Collections.Generic; using System.IO; using System.Linq; class Solution { static long longestSequence(long[] a) { long sum = 0; foreach(var item in a){ if(item == 1) {sum++; continue;} long moves = item; long n = item; while(true){ var divisor = MaxDivisor(n); if(divisor == n){ moves++; break; } moves+=divisor; n=divisor; } sum+= moves; } return sum; } static long MaxDivisor(long n){ if(n==1) return 1; if(n==2) return 2; if(n==3) return 3; for(var i = 2; i < Math.Sqrt(n) +1; i++){ if(n%i == 0) return n/i; } return n; } static void Main(String[] args) { int n = Convert.ToInt32(Console.ReadLine()); string[] a_temp = Console.ReadLine().Split(' '); long[] a = Array.ConvertAll(a_temp,Int64.Parse); long result = longestSequence(a); Console.WriteLine(result); } }