RT
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; ++i)
cin >> nums[i];
sort(nums.begin(), nums.end());
vector<vector<int>> factors(n);
for (int i = 0; i < n; ++i) {
int cur_num = nums[i];
for (int j = 1; j <= sqrt(cur_num); ++j) {
if (cur_num % j == 0) {
factors[i].push_back(j);
if (j != cur_num / j)
factors[i].push_back(cur_num / j);
}
}
}
vector<int> ans;
int max_gcd = 0;
for (int i = 0; i < n; ++i) {
for (int j = i + 1; j < n; ++j) {
for (int k = j + 1; k < n; ++k) {
int gcd = __gcd(nums[i], __gcd(nums[j], nums[k]));
if (gcd > max_gcd) {
max_gcd = gcd;
ans = {nums[i], nums[j], nums[k]};
}
}
}
}
sort(ans.begin(), ans.end());
for (int i = 0; i < 3; ++i)
cout << ans[i] << " ";
return 0;
}