import Data.List

main = do
  k <- readLn :: IO Integer


  print 50
  putStrLn $ unwords . map show $
    zipWith3 (\a b c -> a+b+c)
    (replicate 50 (49+k`div`50))
    (replicate 50 (-k`mod`50))
    (replicate (fromIntegral $ k`mod`50) 51 ++ replicate (50 - (fromIntegral $ k`mod`50)) 0)
  
