← Home
```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
}
```