#!/bin/python3 import sys d = {1: 1} prime = [2] def longestSequence(a, seq = 0,parts =1): if a in d: return seq + d[a]*parts elif a in prime: d[a] = a + 1 return seq + (d[a]*parts) i = 0 while not a%prime[i] == 0: i +=1 seq = longestSequence(a//prime[i],seq+(1*parts), parts * prime[i]) return seq if __name__ == "__main__": num = int(input().strip()) a = list(map(int, input().strip().split(' '))) n = max(a) sieve = set(range(2, n + 1)) while sieve: small = min(sieve) prime.append(small) sieve -= set(range(small, n + 1, small)) prime = sorted(prime,reverse=True) import functools as ft result = ft.reduce(int.__add__, map(longestSequence, a)) print(result)