#!/bin/python3 import sys,math def get_moves(b): print('b',b); if(b>2): if(all(b%i for i in range(2,b))): #print("here") return [1,b]; elif(b==2): return [2,2]; else: count=0; for i in range(b-1,0,-1): count+=1; if(b%i==0): if(count==1):fact=i; if(all(i%j for j in range(2,i))): break; if(i==1): i=fact; print(i) return [b//i,i]; elif(b==2): return [2,2]; else: return [1,1]; def longestSequence(a): prev_moves = 1; moves = 0; pieces = 0; moves_curr = 1; for i in a: b=i; #print(b) while(True): #print(get_moves(b)) pieces,moves_curr = get_moves(b); moves+= prev_moves*moves_curr prev_moves=moves_curr; if(pieces==b): break; else: b=pieces; return moves+1; if __name__ == "__main__": n = int(input().strip()) a = list(map(int, input().strip().split(' '))) result = longestSequence(a) print(result)