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: import copy
  
  P = [
      2,
      3,
      5,
      7,
      11,
      13,
      17,
      19,
      23,
      29,
      31,
      37,
      41,
      43,
      47,
      53,
      59,
      61,
      67,
      71,
      73,
      79,
      83,
      89,
      97,
      101,
      103,
      107,
      109,
      113,
      127,
      131,
      137,
      139,
      149,
      151,
      157,
      163,
      167,
      173,
      179,
      181,
      191,
      193,
      197,
      199,
      211,
      223,
      227,
      229,
      233,
      239,
      241,
      251,
      257,
      263,
      269,
      271,
      277,
      281,
      283,
      293,
      307,
      311,
      313,
      317,
      331,
      337,
      347,
      349,
      353,
      359,
      367,
      373,
      379,
      383,
      389,
      397,
      401,
      409,
      419,
      421,
      431,
      433,
      439,
      443,
      449,
      457,
      461,
      463,
      467,
      479,
      487,
      491,
      499,
      503,
      509,
      521,
      523,
      541,
      547,
      557,
      563,
      569,
      571,
      577,
      587,
      593,
      599,
      601,
      607,
      613,
      617,
      619,
      631,
      641,
      643,
      647,
      653,
      659,
      661,
      673,
      677,
      683,
      691,
      701,
      709,
      719,
      727,
      733,
      739,
      743,
      751,
      757,
      761,
      769,
      773,
      787,
      797,
      809,
      811,
      821,
      823,
      827,
      829,
      839,
      853,
      857,
      859,
      863,
      877,
      881,
      883,
      887,
      907,
      911,
      919,
      929,
      937,
      941,
      947,
      953,
      967,
      971,
      977,
      983,
      991,
      997,
  ]
  
  N = int(input())
  A = list(map(int, input().split()))
  Ac = copy.deepcopy(A)
  A_ind = [0 for i in range(168)]
  
  for i in range(N):
      if i == 0:
          for j in range(168):
              cnt = 0
              while A[i] % P[j] == 0:
                  cnt += 1
                  A[i] //= P[j]
              A_ind[j] = cnt
      else:
          for j in range(168):
              cnt = 0
              while A[i] % P[j] == 0:
                  cnt += 1
                  A[i] //= P[j]
              if cnt > A_ind[j]:
                  A_ind[j] = cnt
  lcm = 1
  for i in range(168):
      lcm *= P[i] ** A_ind[i]
  
  result = 0
  for i in range(N):
      result += lcm // Ac[i]
      result %= 1000000007
  
  print(result)
  
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)."}]