#include <bits/stdc++.h>
using namespace std;
#define ll long long
bool checkBit (ll num, ll bit)
{
return ((num >> bit) & 1);
}
void solve()
{
int n; cin >> n;
vector<int> F;
vector<int> F2;
for (int i = 0; i < n; ++i)
{
int x; cin >> x;
if (16112024 % x == 0 && x != 2)
F.push_back(x);
if (x == 2)
F2.push_back(2);
}
sort(F.begin(), F.end());
F.erase(unique(F.begin(), F.end()), F.end());
for (int i = 0; i < min(int(F2.size()), 3); ++i)
F.push_back(2);
int mask = (1<<F.size())-1;
for (int bit = mask; bit >= 0; --bit)
{
ll mul = 1;
vector<int> ans;
for (int i = 0; i < F.size(); ++i)
if (checkBit(bit, i))
{
mul *= F[i];
ans.push_back(F[i]);
}
if (mul == 16112024)
{
cout << ans.size() << '\n';
for (auto&o:ans)
cout << o << ' ';
return;
}
}
cout << 0;
}
int main()
{
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
freopen("Errors.txt", "w", stderr);
#endif
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int t = 1;
// cin >> t;
while (t--)
{
solve();
if (t) cout << '\n';
}
cout << '\n';
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCgpib29sIGNoZWNrQml0IChsbCBudW0sIGxsIGJpdCkKewogICAgcmV0dXJuICgobnVtID4+IGJpdCkgJiAxKTsKfQoKdm9pZCBzb2x2ZSgpCnsKICAgIGludCBuOyBjaW4gPj4gbjsKICAgIHZlY3RvcjxpbnQ+IEY7CiAgICB2ZWN0b3I8aW50PiBGMjsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKQogICAgewogICAgICAgIGludCB4OyBjaW4gPj4geDsKICAgICAgICBpZiAoMTYxMTIwMjQgJSB4ID09IDAgJiYgeCAhPSAyKQogICAgICAgICAgICBGLnB1c2hfYmFjayh4KTsKICAgICAgICBpZiAoeCA9PSAyKQogICAgICAgICAgICBGMi5wdXNoX2JhY2soMik7CiAgICB9CiAgICBzb3J0KEYuYmVnaW4oKSwgRi5lbmQoKSk7CiAgICBGLmVyYXNlKHVuaXF1ZShGLmJlZ2luKCksIEYuZW5kKCkpLCBGLmVuZCgpKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbWluKGludChGMi5zaXplKCkpLCAzKTsgKytpKQogICAgICAgIEYucHVzaF9iYWNrKDIpOwogICAgaW50IG1hc2sgPSAoMTw8Ri5zaXplKCkpLTE7CiAgICBmb3IgKGludCBiaXQgPSBtYXNrOyBiaXQgPj0gMDsgLS1iaXQpCiAgICB7CiAgICAgICAgbGwgbXVsID0gMTsKICAgICAgICB2ZWN0b3I8aW50PiBhbnM7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBGLnNpemUoKTsgKytpKQogICAgICAgICAgICBpZiAoY2hlY2tCaXQoYml0LCBpKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgbXVsICo9IEZbaV07CiAgICAgICAgICAgICAgICBhbnMucHVzaF9iYWNrKEZbaV0pOwogICAgICAgICAgICB9CiAgICAgICAgaWYgKG11bCA9PSAxNjExMjAyNCkKICAgICAgICB7CiAgICAgICAgICAgIGNvdXQgPDwgYW5zLnNpemUoKSA8PCAnXG4nOwogICAgICAgICAgICBmb3IgKGF1dG8mbzphbnMpCiAgICAgICAgICAgICAgICBjb3V0IDw8IG8gPDwgJyAnOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgfQogICAgY291dCA8PCAwOwp9CgppbnQgbWFpbigpCnsKI2lmbmRlZiBPTkxJTkVfSlVER0UKICAgIGZyZW9wZW4oImlucHV0LnR4dCIsICJyIiwgc3RkaW4pOwogICAgZnJlb3Blbigib3V0cHV0LnR4dCIsICJ3Iiwgc3Rkb3V0KTsKICAgIGZyZW9wZW4oIkVycm9ycy50eHQiLCAidyIsIHN0ZGVycik7CiNlbmRpZgogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogICAgY291dC50aWUobnVsbHB0cik7CiAgICBpbnQgdCA9IDE7CiAgICAvLyBjaW4gPj4gdDsKICAgIHdoaWxlICh0LS0pCiAgICB7CiAgICAgICAgc29sdmUoKTsKICAgICAgICBpZiAodCkgY291dCA8PCAnXG4nOwogICAgfQogICAgY291dCA8PCAnXG4nOwogICAgcmV0dXJuIDA7Cn0=