← Home
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")
		}
	}
}