import Control.Monad (guard) main :: IO () main = mapM_ (putStrLn . unwords . map show) . solve =<< readLn solve :: Int -> [[Int]] solve n = do a <- [1 .. n `div` 3] b <- [a .. n * 2 `div` 3] guard $ b <= n - a - b return [a, b, n - a - b]