# https://yukicoder.me/problems/no/3474 def calc_gcd(A, B): """ 正の整数A, Bの最大公約数を計算する """ a = max(A, B) b = min(A, B) while a % b > 0: c = a % b a = b b = c return b def solve(N, A): lcm = 1 for j in range(1, N): a = A[j] a_str = str(a) array = [] for k in reversed(a_str): if len(array) == 0 and k == "0": continue array.append(k) if len(array) == 0: continue array.reverse() a0 = int("".join(array)) l = len(str(a0)) p = 10 ** l x = calc_gcd(p, int(a0)) p_ = p // x x_ = calc_gcd(p_, lcm) lcm = (lcm // x_) * p_ return lcm def main(): T = int(input()) answers = [] for _ in range(T): N = int(input()) A = list(map(int, input().split())) ans = solve(N, A) answers.append(ans) for ans in answers: print(ans) if __name__ == "__main__": main()