#include <iostream>
#include <numeric>
#include <iomanip>
#include <cmath>
#include <climits>
#include <vector>
#include <algorithm>
using namespace std;
const int MOD = (int)(1e9 + 7);
bool isPrime(long long n) {
for (long long i = 2;i * i <= n;i++) {
if (n % i == 0) {
return false;
}
}
return n >= 2;
}
int main() {
int n;cin >> n;
vector<int> v;
for (int i = 1;i <= n;i++) {
int value;cin >> value;
v.push_back(value);
}
int current_length = 0, max_length = 0;
int current_sum = 0, max_sum = 0;
int index = -1;
for (int i = 0;i < n;i++) {
if (isPrime(v[i])) {
current_length++;
current_sum += v[i];
}
else {
current_length = 0;
current_sum = 0;
}
if (current_length > max_length) {
max_length = current_length;
max_sum = current_sum;
index = i - max_length + 1;
}
else if (current_length==max_length) {
if (current_sum > max_sum) {
max_length = current_length;
max_sum = current_sum;
index = i - max_length + 1;
}
}
}
if (index == -1) {
cout << "NOT FOUND";
}
else {
cout << max_length << endl;
for (int i = 0;i < max_length;i++) {
cout << v[index + i] << " ";
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bnVtZXJpYz4KI2luY2x1ZGUgPGlvbWFuaXA+CiNpbmNsdWRlIDxjbWF0aD4KI2luY2x1ZGUgPGNsaW1pdHM+CiNpbmNsdWRlIDx2ZWN0b3I+CiNpbmNsdWRlIDxhbGdvcml0aG0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgTU9EID0gKGludCkoMWU5ICsgNyk7Cgpib29sIGlzUHJpbWUobG9uZyBsb25nIG4pIHsKCWZvciAobG9uZyBsb25nIGkgPSAyO2kgKiBpIDw9IG47aSsrKSB7CgkJaWYgKG4gJSBpID09IDApIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCX0KCXJldHVybiBuID49IDI7Cn0KCmludCBtYWluKCkgewoJaW50IG47Y2luID4+IG47Cgl2ZWN0b3I8aW50PiB2OwoJZm9yIChpbnQgaSA9IDE7aSA8PSBuO2krKykgewoJCWludCB2YWx1ZTtjaW4gPj4gdmFsdWU7CgkJdi5wdXNoX2JhY2sodmFsdWUpOwoJfQoJaW50IGN1cnJlbnRfbGVuZ3RoID0gMCwgbWF4X2xlbmd0aCA9IDA7CglpbnQgY3VycmVudF9zdW0gPSAwLCBtYXhfc3VtID0gMDsKCWludCBpbmRleCA9IC0xOwoKCWZvciAoaW50IGkgPSAwO2kgPCBuO2krKykgewoJCWlmIChpc1ByaW1lKHZbaV0pKSB7CgkJCWN1cnJlbnRfbGVuZ3RoKys7CgkJCWN1cnJlbnRfc3VtICs9IHZbaV07CgkJfQoJCWVsc2UgewoJCQljdXJyZW50X2xlbmd0aCA9IDA7CgkJCWN1cnJlbnRfc3VtID0gMDsKCQl9CgkJaWYgKGN1cnJlbnRfbGVuZ3RoID4gbWF4X2xlbmd0aCkgewoJCQltYXhfbGVuZ3RoID0gY3VycmVudF9sZW5ndGg7CgkJCW1heF9zdW0gPSBjdXJyZW50X3N1bTsKCQkJaW5kZXggPSBpIC0gbWF4X2xlbmd0aCArIDE7CgkJfQoJCWVsc2UgaWYgKGN1cnJlbnRfbGVuZ3RoPT1tYXhfbGVuZ3RoKSB7CgkJCWlmIChjdXJyZW50X3N1bSA+IG1heF9zdW0pIHsKCQkJCW1heF9sZW5ndGggPSBjdXJyZW50X2xlbmd0aDsKCQkJCW1heF9zdW0gPSBjdXJyZW50X3N1bTsKCQkJCWluZGV4ID0gaSAtIG1heF9sZW5ndGggKyAxOwoJCQl9CgkJfQoJfQoKCWlmIChpbmRleCA9PSAtMSkgewoJCWNvdXQgPDwgIk5PVCBGT1VORCI7Cgl9CgllbHNlIHsKCQljb3V0IDw8IG1heF9sZW5ndGggPDwgZW5kbDsKCQlmb3IgKGludCBpID0gMDtpIDwgbWF4X2xlbmd0aDtpKyspIHsKCQkJY291dCA8PCB2W2luZGV4ICsgaV0gPDwgIiAiOwoJCX0KCX0KCXJldHVybiAwOwp9Cg==