#include using namespace std; bool checkPrime(int a) { if(a == 1) return true ; for(int i = 2 ; i < a/2 ; i++) { if(a%i == 0) return false ; } return true ; } int findDiv(int a) { for(int i = 2 ; i < a/2 ; i++) { if(a%i != 0) return i ; } return 1 ; } long longestSequence(vector a) { long moves = 1 ; long newMoves ; for(int i = 0 ; i < a.size() ; i++) { newMoves = 1 ; int val = a[i]; while(1) { if(checkPrime(val)) { break ; } else if(val%2 != 0) { val = findDiv(val) ; newMoves *= val ; if(val == 1) break ; } else { val = val/2 ; if(val % 2 == 0 ) newMoves *= 2 ; else newMoves *= val ; if(val == 1) break ; } } moves = newMoves + a[i] ; } moves++ ; return moves ; } int main() { int n; cin >> n; vector a(n); for(int a_i = 0; a_i < n; a_i++){ cin >> a[a_i]; } long result = longestSequence(a); cout << result << endl; return 0; }