risers (x:y:xs)
  | x <= y      = case risers (y:xs) of
                    ys:yss -> (x:ys):yss
  | otherwise   = [x] : risers (y:xs)
risers (x:y:xs)
  | x <= y      = case risers (y:xs) of
                    ys:yss -> (x:ys):yss
  | otherwise   = [x] : risers (y:xs)
risers (x:y:xs)
  | x <= y      = case risers (y:xs) of
                    ys:yss -> (x:ys):yss
  | otherwise   = [x] : risers (y:xs)