old_contents: class Node:
      def __init__(self, info):
          self.info = info
          self.left = None
          self.right = None
          self.level = None
  
      def __str__(self):
          return str(self.info)
  
  class BinarySearchTree:
      def __init__(self):
          self.root = None
  
      def create(self, val):
          if self.root == None:
              self.root = Node(val)
          else:
              current = self.root
  
              while True:
                  if val < current.info:
                      if current.left:
                          current = current.left
                      else:
                          current.left = Node(val)
                          break
                  elif val > current.info:
                      if current.right:
                          current = current.right
                      else:
                          current.right = Node(val)
                          break
                  else:
                      break
  
  # Enter your code here. Read input from STDIN. Print output to STDOUT
  '''
  class Node:
        def __init__(self,info):
            self.info = info
            self.left = None
            self.right = None
  
  
         // this is a node of the tree , which contains info as data, left , right
  '''
  
  def lca(root, v1, v2):
      return root
  
  
  tree = BinarySearchTree()
  t = int(input())
  
  arr = list(map(int, input().split()))
  
  for i in range(t):
      tree.create(arr[i])
  
  v = list(map(int, input().split()))
  
  ans = lca(tree.root, v[0], v[1])
  print (ans.info)
  
new_contents: class Node:
      def __init__(self, info):
          self.info = info
          self.left = None
          self.right = None
          self.level = None
  
      def __str__(self):
          return str(self.info)
  
  class BinarySearchTree:
      def __init__(self):
          self.root = None
  
      def create(self, val):
          if self.root == None:
              self.root = Node(val)
          else:
              current = self.root
  
              while True:
                  if val < current.info:
                      if current.left:
                          current = current.left
                      else:
                          current.left = Node(val)
                          break
                  elif val > current.info:
                      if current.right:
                          current = current.right
                      else:
                          current.right = Node(val)
                          break
                  else:
                      break
  
  # Enter your code here. Read input from STDIN. Print output to STDOUT
  '''
  class Node:
        def __init__(self,info):
            self.info = info
            self.left = None
            self.right = None
  
  
         // this is a node of the tree , which contains info as data, left , right
  '''
  
  def lca(root, v1, v2):
      if (v1 <= root.info <= v2 or v2 <= root.info <= v1):
          return root
      elif (root.info < v1 and root.info < v2):
          return lca(root.right, v1, v2)
      elif (root.info > v1 and root.info > v2):
          return lca(root.left, v1, v2)
  
  
  tree = BinarySearchTree()
  
subject: Solve lowest common ancestor