import Control.Applicative ((<$>), (<*>)) import Control.Monad (guard) import Data.List (permutations) main :: IO () main = solve <$> readLn <*> f <*> f >>= print where f = map read <$> words <$> getLine solve :: Int -> [Int] -> [Int] -> Double solve n as bs = fromIntegral (sum vs) / fromIntegral (product [1..n] ^ 2) where ass = permutations as bss = permutations bs vs = do xs <- ass ys <- bss guard $ sum (zipWith (\a b -> if a > b then 1 else (-1)) xs ys) > 0 return 1