1module Main where
2
3import Control.Monad
4import Control.Monad.Trans.State
5
6solve :: Int -> StateT () [] ()
7solve carry | carry > 0 =
8  do guard (0 == carry)
9     solve (carry -1)
10solve 0 = mzero
11
12main :: IO ()
13main = return ()
14