input: Write a function to print a formatted table of grades for a given set of students. The function should take a list of dictionaries as input, where each dictionary contains the 'name' and 'grade' of a student. The output should be a formatted table with the 'Name' and 'Grade' headers, aligned properly, followed by the corresponding student details.
  
  def print_grade_table(students):
      max_name_length = max(len(student['name']) for student in students)
      line_template = "{{name:<{max_name_length}}}   {{grade}}".format(max_name_length=max_name_length)
      header = line_template.format(name='Name', grade='Grade')
      sep = '-' * len(header)
      print(header)
      print(sep)
      for student in students:
          print(line_template.format(**student))
  
  Students = [
      {
      'name': "John",
      'grade': 92
      },
      {
      'name': "Alice",
      'grade': 95
      },
      {
      'name': "Bob",
      'grade': 87
      }
  ]
  
  print_grade_table(Students)
output: def print_grade_table(students):
      max_name_length = max(len(student['name']) for student in students)
      line_template = "{{name:<{max_name_length}}}   {{grade}}".format(max_name_length=max_name_length)
      header = line_template.format(name='Name', grade='Grade')
      sep = '-' * len(header)
      print(header)
      print(sep)
      for student in students:
          print(line_template.format(**student))