>>316 こうすればok
tak x y z
 | x <= y = do
   tell(Sum 1)
   return z
 | otherwise = do
   tell(Sum 1)
   x' <- tak (x - 1) y z ;変えた
   y' <- tak (y - 1) z x ;変えた
   z' <- tak (z - 1) x y ;変えた
   tak x' y' z' ;変えた