#!/bin/python3 import sys MAX = 1000000 def get_prime_list(max_number): result = [] prime_flag=[True for i in range(max_number+1)] for i in range(2, max_number+1): if prime_flag[i] == True: result.append(i) j = i+i while j <= max_number: prime_flag[j] = False j+=i return result def find_max_prime(num, primes): for p_index in range(len(primes)-1, -1, -1): prime = primes[p_index] while num%prime == 0: num=int(num/prime); return num def longestSequence(a): result = 0 primes = get_prime_list(MAX) for num in a: stick = 1 move = 1 max_prime = find_max_prime(num, primes) if max_prime != 1: stick = max_prime move += max_prime num = int(num/max_prime) for p_index in range(len(primes)-1, -1, -1): prime = primes[p_index] while num%prime == 0: stick*=prime move+=stick num=int(num/prime); if num != 1: move+=num result+=move return result if __name__ == "__main__": n = int(input().strip()) a = list(map(int, input().strip().split(' '))) result = longestSequence(a) print(result)