output_description: Print the least common multiple of the given integers in a line.
input_description: n
      a1 a2 ... an
      
  
  n is given in the first line. Then, n integers are given in the second line.
attempt: from math import sqrt, floor
  from collections import deque
  from functools import reduce
  from operator import mul
  
  
  def divide(p):
      global a, lcm, limit
  
      c, d, f = a.copy(), set(), False
      while True:
          b = set(i for i in c if not (i % p))
          d |= c - b
          b = set(i // p for i in b)
          if not b:
              a = d
              break
          lcm.append(p)
          c = b
          f = True
      if f:
          limit = floor(sqrt(max(c)))
  
  
  n, a = int(input()), set(map(int, input().split()))
  p, lcm, limit = 3, deque(), floor(sqrt(max(a)))
  
  divide(2)
  
  while p <= limit:
      divide(p)
      p += 2
  
  print(reduce(mul, lcm, 1) * reduce(mul, a, 1))
  
problem_description: Least Common Multiple
  
    
  
  Find the least common multiple (LCM) of given n integers.
samples: [{"input": "3\n    3 4 6", "output": "12"}, {"input": "4\n    1 2 3 5", "output": "30"}]