input: class MedianFinder:
      def __init__(self):
          self._data = []
   
      def add(self, num):
          self._data.append(num)
   
      def find_median(self):
          data = sorted(self._data)
          n = len(data)
          return (data[(n-1)//2] + data[n//2])/2
  
  """
  Given a Python class that finds the median of an unsorted list of numbers, implement the class. Test cases are as follows:
  >>> mf = MedianFinder()
  >>> mf.add(1)
  >>> mf.add(4)
  >>> mf.add(2)
  >>> mf.find_median()
  2.5
  
  >>> mf = MedianFinder()
  >>> mf.add(7)
  >>> mf.add(3)
  >>> mf.add(1)
  >>> mf.find_median()
  3
  
  >>> mf = MedianFinder()
  >>> mf.add(9)
  >>> mf.add(5)
  >>> mf.add(4)
  >>> mf.add(8)
  >>> mf.find_median()
  6.5
  
  >>> mf = MedianFinder()
  >>> mf.add(10)
  >>> mf.add(12)
  >>> mf.find_median()
  11.0
  """
output:     
          self._data = []
   
      def add(self, num):
          self._data.append(num)
   
      def find_median(self):
          data = sorted(self._data)
          n = len(data)
          return (data[(n-1)//2] + data[n//2])/2
  