import Data.List

main :: IO ()
main = do
  n <- readLn
  vs <- map read . words <$> getLine
  print $ solve n vs

solve :: Int -> [Int] -> Int
solve n vs = solve' n (count as) (count bs)
  where
    (as, bs) = deal vs

deal :: [Int] -> ([Int], [Int])
deal [] = ([], [])
deal (x:y:zs) = (x:xs, y:ys)
  where
    (xs, ys) = deal zs

solve' :: Int -> [(Int, Int)] -> [(Int, Int)] -> Int
solve' n [a0] [b0]
  | ka0 == kb0 = n - va0
  | ka0 /= kb0 = n - va0 - vb0
  where
    (ka0, va0) = a0
    (kb0, vb0) = b0
solve' n [a0] (b0:b1:bs)
  | ka0 == kb0 = n - va0 - vb1
  | ka0 /= kb0 = n - va0 - vb0
  where
    (ka0, va0) = a0
    (kb0, vb0) = b0
    (kb1, vb1) = b1
solve' n (a0:a1:as) [b0]
  | ka0 == kb0 = n - va1 - vb0
  | ka0 /= kb0 = n - va0 - vb0
  where
    (ka0, va0) = a0
    (kb0, vb0) = b0
    (ka1, va1) = a1
solve' n (a0:a1:as) (b0:b1:bs)
  | ka0 /= kb0             = n - va0 - vb0
  | va0 + vb1 >= va1 + vb0 = n - va0 - vb1
  | va0 + vb1 <  va1 + vb0 = n - va1 - vb0
  where
    (ka0, va0) = a0
    (kb0, vb0) = b0
    (ka1, va1) = a1
    (kb1, vb1) = b1

count :: [Int] -> [(Int, Int)]
count = reverse . sortOn snd . map (\xs -> (head xs, length xs)) . group . sort