N = int(input()) A = list(map(int, input().split())) dp = [0] * 10001 m = [0] * 10001 ret = [] for i in range(N): m[A[i]] += 1 next = A[0] ret.append(next) m[next] -= 1 for i in range(N - 1): divisor = [] for j in range(1, next + 1): if next % j == 0: divisor.append(j) if j * j != next: divisor.append(next // j) divisor.sort() check = 99999 ans = 0 for d in divisor: while d * dp[d] <= 10000: if m[d * dp[d]]: if dp[d] < check: ans = d * dp[d] check = dp[d] break else: dp[d] += 1 next = ans ret.append(next) m[next] -= 1 print(' '.join(map(str, ret)))