code: def get_common_ancestor(*args):
      
  
      array = map(set, zip(*args))
      divergence = filter(lambda i: len(i) > 1, array)
      if divergence:
          ancestor = foundations.common.get_first_item(args)[:array.index(foundations.common.get_first_item(divergence))]
      else:
          ancestor = min(args)
      LOGGER.debug("> Common Ancestor: '{0}'".format(ancestor))
      return ancestor
docs: Gets common ancestor of given iterables.
  
      Usage::
  
          >>> get_common_ancestor(("1", "2", "3"), ("1", "2", "0"), ("1", "2", "3", "4"))
          (u'1', u'2')
          >>> get_common_ancestor("azerty", "azetty", "azello")
          u'aze'
  
      :param \*args: Iterables to retrieve common ancestor from.
      :type \*args: [iterable]
      :return: Common ancestor.
      :rtype: iterable