main :: IO ()
main = do
    n  <- read <$> getLine
    xs <- fmap read . words <$> getLine
    answer $ solve n xs

type Answer = Int
answer :: Answer -> IO ()
answer = print

solve :: Int -> [Int] -> Int
solve n = search 2 (2 * n - 2)
  where
    bin x = foldr ((:) . (x <=)) []
    search k x xs
      | k == x     = x
      | x - k == 1 = if go (bin x xs) then x else k
      | go bs      = search m x xs
      | otherwise  = search k (m - 1) xs
      where
        m  = k + (x - k) `div` 2
        bs = bin m xs
    go (x : y : xs)
      | x == y    = left   2 y y $ zip [3 ..] xs
      | otherwise = left   0 x y $ zip [3 ..] xs
    left   l w z xs@((i, x) : xs')
      | i >= n    = middle l w z xs
      | z /= x    = left   i w x xs'
      | otherwise = left   l x x xs'
    middle l w z xs@((i, x) : xs')
      | i >  n    = right  m w z xs
      | z /= x    = right  m w x xs'
      | otherwise = x
      where
        m = 2 * n - l
    right m w z [(i, x)] = w
    right m w z ((i, x) : xs)
      | i >  m    = w
      | z /= x    = right m w x xs
      | otherwise = x
