#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;
}