#include <iostream>
#include <cmath>
#include <iomanip>
#include <climits>
#include <vector>
#include <algorithm>
#include <numeric>

using namespace std;
const int MOD = 1000000007;

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() {
	vector<int> v;

	int n;cin >> n;
	for (int i = 1;i <= n;i++) {
		int value;cin >> value;
		v.push_back(value);
	}

	int currentLength = 0, maxLength = 0;
	int currentSum = 0, maxSum = 0;
	int index = -1;

	for (int i = 0;i < n;i++) {
		if (isPrime(v[i])) {
			currentLength++;
			currentSum += v[i];
		}
		else {
			currentLength = 0;
			currentSum = 0;
		}
		if (currentLength > maxLength) {
			maxLength = currentLength;
			maxSum = currentSum;
			index = i - maxLength + 1;
		}
		else if (currentLength == maxLength) {
			if (currentSum > maxSum) {
				maxLength = currentLength;
				maxSum = currentSum;
				index = i - maxLength + 1;
			}
		}
	}
	if (index == -1) {
		cout << "NOT FOUND";
	}
	else {
		cout << maxLength << endl;
		for (int i = 0;i < maxLength;i++) {
			cout << v[index + i] << " ";
		}
	}
}



