output_description: Print the minimum possible value of B_1 + ... + B_N for B_1,...,B_N that
  satisfy the condition, modulo (10^9 +7).
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      A_1 ... A_N
attempt: n = int(input())
  a = list(map(int, input().split()))
  c = [1] * (10**3 + 1)
  p = {}
  q = []
  m = 10**9 + 7
  for i in range(2, 10**3 + 1):
      if c[i]:
          p[i] = 0
          q.append(i)
          for j in range(i * 2, 10**3 + 1, i):
              c[j] = 0
  for j in a:
      i = 0
      while j != 1:
          if j % q[i] == 0:
              d = 0
              while j % q[i] == 0:
                  j //= q[i]
                  d += 1
              p[q[i]] = max(p[q[i]], d)
          i += 1
          if i == 168:
              break
      p[j] = 1
  e = 1
  for i in p.keys():
      e = (e * pow(i, p[i], m)) % m
  c = 0
  for i in a:
      c = (c + e * pow(i, m - 2, m)) % m
  print(c)
  
problem_description: Statement
  
  Given are N positive integers A_1,...,A_N.
  
  Consider positive integers B_1, ..., B_N that satisfy the following condition.
  
  Condition: For any i, j such that 1 \leq i < j \leq N, A_i B_i = A_j B_j
  holds.
  
  Find the minimum possible value of B_1 + ... + B_N for such B_1,...,B_N.
  
  Since the answer can be enormous, print the sum modulo (10^9 +7).
samples: [{"input": "3\n    2 3 4", "output": "13\n    \n\nLet B_1=6, B_2=4, and B_3=3, and the condition will be satisfied.\n\n* * *"}, {"input": "5\n    12 12 12 12 12", "output": "5\n    \n\nWe can let all B_i be 1.\n\n* * *"}, {"input": "3\n    1000000 999999 999998", "output": "996989508\n    \n\nPrint the sum modulo (10^9+7)."}]