code: def to_even_columns(data, headers=None):
      
      result = ''
      col_width = max(len(word) for row in data for word in row) + 2  # padding
      if headers:
          header_width = max(len(word) for row in headers for word in row) + 2
          if header_width > col_width:
              col_width = header_width
  
          result += "".join(word.ljust(col_width) for word in headers) + "\n"
          result += '-' * col_width * len(headers) + "\n"
  
      for row in data:
          result += "".join(word.ljust(col_width) for word in row) + "\n"
      return result
docs: Nicely format the 2-dimensional list into evenly spaced columns