#include <iostream>
#include <vector>
using namespace std;
const int N = 2e6;
int p[N+1], freq[N+1];
int main() {
for (int i = 2; i <= N; i++) p[i] = 1;
for (long long i = 2; i <= N; i++) {
if (!p[i]) continue;
for (long long j = i * i; j <= N; j += i)
p[j] = 0;
}
int n; cin >> n;
vector<int> a(n);
for (auto& i : a) {
cin >> i, freq[i]++;
if (i != 1 && freq[i] > 1) freq[i] = 1;
}
int ans = freq[1];
for (auto& i : a)
for (auto& j: a)
if (i != j && p[i + j])
ans = max(ans, freq[i] + freq[j]);
if (ans == freq[1] && ans != 0) {
cout << ans << endl;
while (ans--) cout << "1 ";
return 0;
}
for (auto& i : a)
for (auto& j: a)
if (i != j && p[i + j] && ans == freq[i] + freq[j]) {
cout << ans << endl;
while (freq[i]--) cout << i << " ";
while (freq[j]--) cout << j << " ";
return 0;
}
cout << 1 << endl << a[0];
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgTiA9IDJlNjsKCmludCBwW04rMV0sIGZyZXFbTisxXTsKCmludCBtYWluKCkgewoKZm9yIChpbnQgaSA9IDI7IGkgPD0gTjsgaSsrKSBwW2ldID0gMTsKZm9yIChsb25nIGxvbmcgaSA9IDI7IGkgPD0gTjsgaSsrKSB7CmlmICghcFtpXSkgY29udGludWU7CmZvciAobG9uZyBsb25nIGogPSBpICogaTsgaiA8PSBOOyBqICs9IGkpCnBbal0gPSAwOwp9CgppbnQgbjsgY2luID4+IG47CnZlY3RvcjxpbnQ+IGEobik7CmZvciAoYXV0byYgaSA6IGEpIHsKY2luID4+IGksIGZyZXFbaV0rKzsKaWYgKGkgIT0gMSAmJiBmcmVxW2ldID4gMSkgZnJlcVtpXSA9IDE7Cn0KCmludCBhbnMgPSBmcmVxWzFdOwpmb3IgKGF1dG8mIGkgOiBhKQpmb3IgKGF1dG8mIGo6IGEpCmlmIChpICE9IGogJiYgcFtpICsgal0pCmFucyA9IG1heChhbnMsIGZyZXFbaV0gKyBmcmVxW2pdKTsKCmlmIChhbnMgPT0gZnJlcVsxXSAmJiBhbnMgIT0gMCkgewpjb3V0IDw8IGFucyA8PCBlbmRsOwp3aGlsZSAoYW5zLS0pIGNvdXQgPDwgIjEgIjsKcmV0dXJuIDA7Cn0KCmZvciAoYXV0byYgaSA6IGEpCmZvciAoYXV0byYgajogYSkKaWYgKGkgIT0gaiAmJiBwW2kgKyBqXSAmJiBhbnMgPT0gZnJlcVtpXSArIGZyZXFbal0pIHsKY291dCA8PCBhbnMgPDwgZW5kbDsKd2hpbGUgKGZyZXFbaV0tLSkgY291dCA8PCBpIDw8ICIgIjsKd2hpbGUgKGZyZXFbal0tLSkgY291dCA8PCBqIDw8ICIgIjsKcmV0dXJuIDA7Cn0KCmNvdXQgPDwgMSA8PCBlbmRsIDw8IGFbMF07CgoJcmV0dXJuIDA7Cn0=