package main
import (
"bufio"
"fmt"
"os"
"sort"
)
func upperBound(a []int, x int) int {
l, r := 0, len(a)
for l < r {
m := l + (r-l)/2
if a[m] > x {
r = m
} else {
l = m + 1
}
}
return l
}
func lowerBound(a []int, x int) int {
l, r := 0, len(a)
for l < r {
m := l + (r-l)/2
if a[m] >= x {
r = m
} else {
l = m + 1
}
}
return l
}
func main() {
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var t int
if _, err := fmt.Fscan(reader, &t); err != nil {
return
}
for tc := 0; tc < t; tc++ {
var n int
fmt.Fscan(reader, &n)
L := make([]int, n)
R := make([]int, n)
lOrig := make([]int, n)
rOrig := make([]int, n)
for i := 0; i < n; i++ {
fmt.Fscan(reader, &L[i], &R[i])
lOrig[i] = L[i]
rOrig[i] = R[i]
}
sort.Ints(L)
sort.Ints(R)
minDeleted := n
for i := 0; i < n; i++ {
left := lowerBound(R, lOrig[i])
right := n - upperBound(L, rOrig[i])
deleted := left + right
if deleted < minDeleted {
minDeleted = deleted
}
}
fmt.Fprintln(writer, minDeleted)
}
}