← Home
package main

import (
	"fmt"
)

func main() {
	var t int
	if _, err := fmt.Scan(&t); err != nil {
		return
	}

	for t > 0 {
		t--
		var n int
		fmt.Scan(&n)

		maxIdx := 0
		for i := 1; i < n; i++ {
			fmt.Printf("? %d %d %d %d\n", maxIdx, maxIdx, i, i)
			var resp string
			fmt.Scan(&resp)
			if resp == "<" {
				maxIdx = i
			}
		}

		c := 0
		S := []int{0}
		for i := 1; i < n; i++ {
			fmt.Printf("? %d %d %d %d\n", maxIdx, c, maxIdx, i)
			var resp string
			fmt.Scan(&resp)
			if resp == "<" {
				c = i
				S = []int{i}
			} else if resp == "=" {
				S = append(S, i)
			}
		}

		best := S[0]
		for i := 1; i < len(S); i++ {
			fmt.Printf("? %d %d %d %d\n", best, best, S[i], S[i])
			var resp string
			fmt.Scan(&resp)
			if resp == ">" {
				best = S[i]
			}
		}

		fmt.Printf("! %d %d\n", maxIdx, best)
	}
}