← Home
```go
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	reader := bufio.NewReader(os.Stdin)
	writer := bufio.NewWriter(os.Stdout)
	defer writer.Flush()

	var q int
	fmt.Fscan(reader, &q)

	for i := 0; i < q; i++ {
		var n, k int
		fmt.Fscan(reader, &n, &k)

		oddIndices := make([]int, 0, n)
		for j := 1; j <= n; j++ {
			var val int
			fmt.Fscan(reader, &val)
			if val%2 != 0 {
				oddIndices = append(oddIndices, j)
			}
		}

		if len(oddIndices) < k || len(oddIndices)%2 != k%2 {
			fmt.Fprintln(writer, "NO")
		} else {
			fmt.Fprintln(writer, "YES")
			for j := 0; j < k-1; j++ {
				fmt.Fprintf(writer, "%d ", oddIndices[j])
			}
			fmt.Fprintln(writer, n)
		}
	}
}
```