code: def header(head, text, over_char=None, under_char=None, center=True):
      
      lines = list(text.split('\n'))
      width = max(len(l) for l in lines)
  
      # Center or left-justify
      if center:
          head = head.center(width) + '\n'
      else:
          head = head.ljust(width) + '\n'
  
      # Underline head
      if under_char:
          head = head + under_char * width + '\n'
  
      # 'Overline' head
      if over_char:
          head = over_char * width + '\n' + head
  
      return head + text
docs: Center a head over a block of text.
  
      The width of the text is the width of the longest line of the text.