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