#include <stdio.h>
int main()
{
  int n, i, j;
  int arr[100] = {0};  //设初始数组元素为100个0
  scanf("%d", &n);    
  for(i=2; i<=n; i++)   //数组元素为从2到n
      arr[i] = i;     //为了方便,设数组下标和数组元素一样,从2到n
    for(j=2; j<=n; j++)   //外循环为2到n,即被2到n的数整除
    {
      for(i=j+1; i<=n; i++)   //内循环为遍历数组进行比较,每趟循环的数组下标从j+1开始
      { 
        if(arr[i] % j == 0)    //若能被j(从2到n)整除
           arr[i] = 0;          //还原为0
       }
     }
    for(i=2,j=0; i<=n; i++)    //遍历数组,
    {
       if(arr[i] != 0)
           printf("%d ", arr[i]);   //未被清0的数打印出来
       else 
           j++;   //清0的数,计数+1
    }
      printf("\n");   //换行
      printf("%d", j);   //打印被清0的数的个数
  return 0;
}