cycle :: (Integral a, Show a) => a -> Graph.LabeledGraph
cycle n = Graph.graphFromEdgeList edges
    where edges = map (\(a, b) -> (show (a+1), show (b+1)))
                    [(v, (((v+1) `mod` n))) | v <- [0..n-1]]
cycle :: (Integral a, Show a) => a -> Graph.LabeledGraph
cycle n = Graph.graphFromEdgeList edges
    where edges = map (\(a, b) -> (show (a+1), show (b+1)))
                    [(v, (((v+1) `mod` n))) | v <- [0..n-1]]
cycle n = Graph.graphFromEdgeList edges
    where edges = map (\(a, b) -> (show (a+1), show (b+1)))
                    [(v, (((v+1) `mod` n))) | v <- [0..n-1]]