package main
import (
"bufio"
"fmt"
"os"
)
func main() {
in := bufio.NewReader(os.Stdin)
out := bufio.NewWriter(os.Stdout)
defer out.Flush()
var q int
if _, err := fmt.Fscan(in, &q); err != nil {
return
}
for i := 0; i < q; i++ {
var t int64
var x, y int
fmt.Fscan(in, &t, &x, &y)
k := t - int64(x) - int64(y)
if k < 0 {
fmt.Fprintln(out, "NO")
continue
}
var count [120][120]int64
count[0][0] = k
for r := 0; r <= x; r++ {
for c := 0; c <= y; c++ {
cv := count[r][c]
if cv > 0 {
if r < x {
count[r+1][c] += cv / 2
}
if c < y {
count[r][c+1] += (cv + 1) / 2
}
}
}
}
currX, currY := 0, 0
reached := false
for currX <= x && currY <= y {
if currX == x && currY == y {
reached = true
break
}
if count[currX][currY]%2 == 0 {
currY++
} else {
currX++
}
}
if reached {
fmt.Fprintln(out, "YES")
} else {
fmt.Fprintln(out, "NO")
}
}
}