code: func PickN(population []interface{}, n int) (
  	picked []interface{}, remaining []interface{}, err error) {
  
  	total := len(population)
  	idxs, err := SampleInts(total, n)
  	if err != nil {
  		return
  	}
  	sort.Ints(idxs)
  
  	picked, remaining = []interface{}{}, []interface{}{}
  	for x, elem := range population {
  		if len(idxs) > 0 && x == idxs[0] {
  			picked = append(picked, elem)
  			idxs = idxs[1:]
  		} else {
  			remaining = append(remaining, elem)
  		}
  	}
  
  	return
  }
docs: // Same as 'Sample' except it returns both the 'picked' sample set and the
  // 'remaining' elements.