#include <stdio.h>
int main() {
int a;
int count = 0;
int arr[100] = {0};
while (scanf("%d ", &a) != EOF) //输入一个数,求2到这个数之间有多少个素数
{
for (int i = 2; i <= a; i++) { //素数从2开始,把2到这个数之间的所有数都放到数组中,数组下标和数大小一一对应。
arr[i] = i;
}
//开始筛选
for (int i =2; i <= a; i++) { //外层循环遍历所有数
for (int j = 2; j < i; j++) { //遍历每个数内的数(不包括其本身),
if (i%j == 0) { //如果能被这个数之间的数整除它就不是素数,数组内这个数就置为零
arr[i] = 0;
}
}
}
for (int i = 2; i <= a; i++) {
if (arr[i] != 0) { //遍历输出数组中素数(数组中不为零的数)
printf("%d ", arr[i]);
}
else {
count++; //计数不是素数的个数
}
}
printf("\n%d\n", count);
}
return 0;
}