#!/bin/python3 import sys from math import sqrt def convert_to_intlist(line): return [int(item) for item in line.split()] def factorize(n): exp_of_two = 0 while n % 2 == 0: exp_of_two += 1 n = n // 2 primes = [] p = 3 while p <= sqrt(n): while n % p == 0: primes.append(p) n = n // p p += 2 if n > 2: primes.append(n) return exp_of_two, primes def accumulate(s, primes): for p in primes: s = s * p + 1 return s def calc_sequence_break(exp_of_two, odd_primes_sorted): if exp_of_two == 0: p = odd_primes_sorted[0] s = accumulate(p + 1, odd_primes_sorted[1:]) else: s = accumulate(2 ** (exp_of_two + 1) - 1, odd_primes_sorted) return s def longest_sequence_of_breaks(stick): if stick == 1: return 1 exp_of_two, other_primes = factorize(stick) if not other_primes: return 2 ** (exp_of_two + 1) - 1 return calc_sequence_break(exp_of_two, other_primes) def calc_maximum_amount_of_breaks(sticks): s = 0 for stick in sticks: s += longest_sequence_of_breaks(stick) return s if __name__ == "__main__": data = sys.stdin.read().splitlines() sticks = convert_to_intlist(data[1]) breaks = calc_maximum_amount_of_breaks(sticks) print(breaks)