import Data.List import Control.Monad main = readLn >>= print . drawable drawable a = length $ do e <- takeWhile (<=a) (iterate (*2) 1) fps <- subsequences [3,5,17,257,65537] let d = e * product fps guard (3 <= d && d <= a) return d