code: func bestn(input string, potential map[string]*Potential, n int) []string {
  	var output []string
  	for i := 0; i < n; i++ {
  		if len(potential) == 0 {
  			break
  		}
  		b := best(input, potential)
  		output = append(output, b)
  		delete(potential, b)
  	}
  	return output
  }
docs: // From a group of potentials, work out the most likely results, in order of
  // best to worst