← Home
```go
package main

import "fmt"

func main() {
	var t int
	fmt.Scan(&t)
	for _ = range make([]int, t) {
		var n int
		fmt.Scan(&n)
		p := make([]int, n)
		for i := 0; i < n; i++ {
			fmt.Scan(&p[i])
		}
		var c int = 0
		var st []int
		for i := 0; i < n; i++ {
			v := p[i]
			r := 0
			new_max := v
			for len(st) > 0 && st[len(st)-1] > v {
				r++
				if new_max < st[len(st)-1] {
					new_max = st[len(st)-1]
				}
				st = st[:len(st)-1]
			}
			st = append(st, new_max)
			c = c + 1 - r
		}
		fmt.Println(c)
	}
}
```