package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
)

func ekstrakBit(angka int) []int {
	var bit []int
	if angka == 0 {
		return []int{0}
	}
	for angka > 0 {
		sisaBit := angka & 1
		bit = append(bit, sisaBit)
		angka = angka >> 1 
	}
	return bit
}

func hitungNomorBit(angka int, nomorBit int) *int {
	bit := ekstrakBit(angka)

	indeksGrup := -1
	i := 0
	for i < len(bit) {
		if bit[i] == 1 {
			panjang := 0
			for i < len(bit) && bit[i] == 1 {
				panjang++
				i++
			}
			indeksGrup++

			if indeksGrup == nomorBit {
				nilai := (1 << uint(panjang)) - 1
				return &nilai
			}
		} else {
			i++
		}
	}

	return nil 
}

func main() {
	reader := bufio.NewReader(os.Stdin)
	baca := func() string {
		s, _ := reader.ReadString('\n')
		return strings.TrimSpace(s)
	}
	q, _ := strconv.Atoi(baca())
	for i := 0; i < q; i++ {
		bagian := strings.Fields(baca())
		angka, _ := strconv.Atoi(bagian[0])
		nomorBit, _ := strconv.Atoi(bagian[1])

		hasil := hitungNomorBit(angka, nomorBit)
		if hasil == nil {
			fmt.Println("null")
		} else {
			fmt.Println(*hasil)
		}
	}
}