using System; using System.Collections.Generic; using System.IO; using System.Linq; class Solution { static long longestSequence(long[] a) { long suma = 0; Dictionary longest = new Dictionary(); foreach (var item in a) { int divBest = 3; long suma2 = 0; long sumaBest = 0; int div = 3; long comidas = item; suma += dividir(item, ref divBest, ref sumaBest, div,ref comidas); } return suma; } static long dividir(long piezas, ref int divBest, ref long sumaBest, int div, ref long comidas) { long suma = 0; if (piezas == 1) { suma += 1; comidas--; } else { while (piezas % div != 0 && div <= piezas) { div++; } suma += 1; for (int i = 0; i < div; i++) { suma += dividir(piezas / div, ref divBest, ref sumaBest, 2, ref comidas); } } return suma; } 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); } }