#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#define NUM 100
int main()
{
int num = 0;
while (~scanf("%d", &num))//多组输入
{
int arr[NUM] = { 0 };
//向数组中存入数据
for (int i = 2; i <= num; i++)
{
arr[i] = i;//一一对应上
}
//筛选法
for (int i = 2; i <= num; i++)
{
for (int j = i + 1; j <= num; j++)//将数组中2之后的所有能被2整除的数清0
//再将3之后的所有能被3整除的数清0
{
if (arr[j] % i == 0)//将不是素数的数赋值为 0
{
arr[j] = 0;
}
}
}
//输出
int cnt = 0;//计数器 //统计不是素数的数
for (int i = 2; i <= num; i++)
{
if (arr[i] != 0)
{
printf("%d ", arr[i]);//输出素数
}
else
cnt++;
}
printf("\n%d\n", cnt);//输出不是素数的数
}
return 0;
}