303435: CF665D. Simple Subset

Memory Limit:256 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Simple Subset

题意翻译

定义一组数 $x_1,x_2,\dots,x_n$ **简单的**当且仅当对任意 $(i,j)(1\le i<j\le n)$,都有 $x_i+x_j$ 是一个**质数**。 **质数**指一个大于 1 的正整数,没有除了 1 和它本身其他的因数。 给定一组数 $a_1,a_2,\dots,a_n$,求它最大的**简单子集**,多解输出任意一个。 $n\le 10^3,a_i\le 10^6$

题目描述

A tuple of positive integers $ {x_{1},x_{2},...,x_{k}} $ is called simple if for all pairs of positive integers $ (i,j) $ ( $ 1<=i&lt;j<=k $ ), $ x_{i}+x_{j} $ is a prime. You are given an array $ a $ with $ n $ positive integers $ a_{1},a_{2},...,a_{n} $ (not necessary distinct). You want to find a simple subset of the array $ a $ with the maximum size. A prime number (or a prime) is a natural number greater than $ 1 $ that has no positive divisors other than $ 1 $ and itself. Let's define a subset of the array $ a $ as a tuple that can be obtained from $ a $ by removing some (possibly all) elements of it.

输入输出格式

输入格式


The first line contains integer $ n $ ( $ 1<=n<=1000 $ ) — the number of integers in the array $ a $ . The second line contains $ n $ integers $ a_{i} $ ( $ 1<=a_{i}<=10^{6} $ ) — the elements of the array $ a $ .

输出格式


On the first line print integer $ m $ — the maximum possible size of simple subset of $ a $ . On the second line print $ m $ integers $ b_{l} $ — the elements of the simple subset of the array $ a $ with the maximum size. If there is more than one solution you can print any of them. You can print the elements of the subset in any order.

输入输出样例

输入样例 #1

2
2 3

输出样例 #1

2
3 2

输入样例 #2

2
2 2

输出样例 #2

1
2

输入样例 #3

3
2 1 1

输出样例 #3

3
1 1 2

输入样例 #4

2
83 14

输出样例 #4

2
14 83

Input

题意翻译

定义一组数 $x_1,x_2,\dots,x_n$ **简单的**当且仅当对任意 $(i,j)(1\le i<j\le n)$,都有 $x_i+x_j$ 是一个**质数**。 **质数**指一个大于 1 的正整数,没有除了 1 和它本身其他的因数。 给定一组数 $a_1,a_2,\dots,a_n$,求它最大的**简单子集**,多解输出任意一个。 $n\le 10^3,a_i\le 10^6$

加入题单

算法标签: