```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)
}
}
}
```