code: def lowest_common_hypernyms(self,target_synset):
           
          self_hypernyms = self._recursive_hypernyms(set())
          other_hypernyms = target_synset._recursive_hypernyms(set())
          common_hypernyms = self_hypernyms.intersection(other_hypernyms)
          
          annot_common_hypernyms = [(hypernym, hypernym._min_depth()) for hypernym in common_hypernyms]
         
          annot_common_hypernyms.sort(key = lambda annot_hypernym: annot_hypernym[1],reverse=True)
         
          max_depth = annot_common_hypernyms[0][1] if len(annot_common_hypernyms) > 0 else None
          
          if max_depth != None:
              return [annot_common_hypernym[0] for annot_common_hypernym in annot_common_hypernyms if annot_common_hypernym[1] == max_depth]
          else:
              return None
docs: Returns the common hypernyms of the synset and the target synset, which are furthest from the closest roots.
          
          Parameters
          ----------
            target_synset : Synset
          Synset with which the common hypernyms are sought.
          
          Returns
          -------
            list of Synsets
          Common synsets which are the furthest from the closest roots.