#!/bin/ruby def is_prime(n) 3.step(Math.sqrt(n), 2) do |i| if n % i == 0 return false end end return true end def prime_div(l, primes) limit = l primes.each do |p| if l % p == 0 return p end end n = primes[-1] + 2 while true if is_prime(n) primes << n if l % n == 0 return n end end n += 2 end end def longestSequence(a) # Return the length of the longest possible sequence of moves. primes = [2, 3, 5, 7, 11] total = 0 a.each do |l| moves = l rest = l while rest > 1 rest /= prime_div(rest, primes) moves += rest end total += moves end return total end n = gets.strip.to_i a = gets.strip a = a.split(' ').map(&:to_i) result = longestSequence(a) puts result