from ast import Num
import sys
import math

def op1(x):
    if x >= 0:
        return math.ceil(math.sqrt(x))
    else:
        return 0
def op2(x):
    return x-1
def op3(x):
    return math.ceil(x/2)
def findmin(n,m):

    for k in range(m):
        if n > 4:
            n = op1(n)
        elif n<=4 and n>=2:
            n = op3(n)
        else:
            n -= (m-k)
            break
    return n

data =list( map(int,sys.stdin.read().split()))
num = data[0]
# print(data)
ptr = 1
for _ in range(num):
    n,m = data[ptr],data[ptr+1]
    ptr+=2
    k = findmin(n,m)
    print(k)