N = 10001 yaku = [[] for _ in range(N)] for i in range(1,N): for j in range(i,N,i): yaku[j].append(i) num = [0]*N _,a,*s = map(int,open(0).read().split()) for i in s: num[i] += 1 s = sorted(set(s)) hqs = [[] for _ in range(N)] for i in s[::-1]: for j in yaku[i]: hqs[j].append(i) removed = [0]*N ans = [a] for i in range(len(s)): v = r = 1000000000 for k in yaku[a]: while hqs[k] and removed[hqs[k][-1]]: hqs[k].pop() if hqs[k]: vx = hqs[k][-1] rx = vx//k if r > rx or (r==rx and v > vx): r = rx v = vx a = v removed[a] = 1 ans += [a]*num[a] print(*ans)