package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var t int
fmt.Fscan(reader, &t)
for ; t > 0; t-- {
var n int
fmt.Fscan(reader, &n)
p := make([]int, n)
for i := 0; i < n; i++ {
fmt.Fscan(reader, &p[i])
}
prefixMin := make([]int, n)
prefixMin[0] = 0
for i := 1; i < n; i++ {
if p[i] < p[prefixMin[i-1]] {
prefixMin[i] = i
} else {
prefixMin[i] = prefixMin[i-1]
}
}
suffixMin := make([]int, n)
suffixMin[n-1] = n - 1
for i := n - 2; i >= 0; i-- {
if p[i] < p[suffixMin[i+1]] {
suffixMin[i] = i
} else {
suffixMin[i] = suffixMin[i+1]
}
}
found := false
for j := 1; j < n-1; j++ {
iIdx := prefixMin[j-1]
kIdx := suffixMin[j+1]
if p[iIdx] < p[j] && p[kIdx] < p[j] {
fmt.Fprintln(writer, "YES")
fmt.Fprintln(writer, iIdx+1, j+1, kIdx+1)
found = true
break
}
}
if !found {
fmt.Fprintln(writer, "NO")
}
}
}