--pyon -- n : 足場の数 -- k : 飛ぶ幅 import Control.Monad import Debug.Trace pyon :: Int -> Int -> [Int] -> Int -> Int pyon n k hasira cnt | isEnd == True = 0 | otherwise = 1 + pyon n k hasira' m where m = (cnt + k) `mod` n isEnd = (hasira !! m) == 0 hasira' | m == 0 = 0 : tail hasira | m == n - 1 = (take (n - 1) hasira) ++ [0] | otherwise = (take m hasira) ++ [0] ++ (drop (m+1) hasira) main = do nk <- map (read :: String -> Int) . words <$> getLine let hasira = [0] ++ take (n - 1) [1,1..] n = head nk k = last nk print n print k print hasira print $ pyon n k hasira 0