import           System.IO
import           Text.Printf
import           Data.List
import           Control.Monad

sosus :: [Int] -> [Int]
sosus (x : xs) = x : sosus (filter (\n -> mod n x /= 0) xs)

main = do
  n <- readLn
  replicateM 30 $ print $ length $ takeWhile (\x -> n >= x) (sosus [2 ..])
