```go
package main
import (
"bufio"
"os"
"strconv"
)
func main() {
scanner := bufio.NewScanner(os.Stdin)
scanner.Split(bufio.ScanWords)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
if scanner.Scan() {
q, _ := strconv.Atoi(scanner.Text())
for i := 0; i < q; i++ {
scanner.Scan()
u, _ := strconv.Atoi(scanner.Text())
scanner.Scan()
v, _ := strconv.Atoi(scanner.Text())
if canTravel(u, v) {
writer.WriteString("YES\n")
} else {
writer.WriteString("NO\n")
}
}
}
}
func canTravel(u, v int) bool {
if u > v {
return false
}
uCount := 0
vCount := 0
for i := 0; i < 30; i++ {
if (u>>i)&1 == 1 {
uCount++
}
if (v>>i)&1 == 1 {
vCount++
}
if uCount < vCount {
return false
}
}
return true
}
```