'''
Вам задано два целых числа n и k. Ваша задача — определить, можно ли представить n в виде суммы k различных положительных нечетных (не делящихся на 2) целых чисел.

Вам необходимо ответить на t независимых наборов тестовых данных.

Входные данные
Первая строка входных данных содержит одно целое число t (1≤t≤105) — количество наборов тестовых данных.

Следующие t строк описывают наборы тестовых данных. Единственная строка набора тестовых данных содержит два целых числа n и k (1≤n,k≤107).

Выходные данные
Выведите ответ на каждый набор тестовых данных — «YES» (без кавычек), если n можно представить в виде суммы k различных положительных нечетных (не делящихся на 2) целых чисел, и «NO» в противном случае.
'''
t = int(input())
for i in range(t):
    n, k = [int(num) for num in input().split(' ')]
    if n % 2 != k % 2 or k*k > n:
        print("NO")
    else:
        print("YES")