i = int(input())
res = []
while i != 0:
n, k = input().split()
n, k = int(n), int(k)
if (n-k) % 2 == 0 and n >= k ** 2 :
res.append("YES")
else:
res.append("NO")
i -= 1
for i in res:
print(i)
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main(int argc, char const *argv[])
{
ll int t;
cin >> t;
while (t--)
{
ll int n, k;
cin >> n >> k;
if (n % 2 != 0 && n < 10 && k == 1)
{
cout << "YES\n";
}
else if (n % 2 == 2 && n < 3)
{
cout << "NO\n";
}
else if (n % 2 == 0 && k % 2 == 0 && k <= sqrt(n))
{
cout << "YES\n";
}
else if (n % 2 != 0 && k % 2 != 0 && k <= sqrt(n))
{
cout << "YES\n";
}
else
{
cout << "NO\n";
}
}
return 0;
}
1213A - Chips Moving | 490A - Team Olympiad |
233A - Perfect Permutation | 1360A - Minimal Square |
467A - George and Accommodation | 893C - Rumor |
227B - Effective Approach | 1534B - Histogram Ugliness |
1611B - Team Composition Programmers and Mathematicians | 110A - Nearly Lucky Number |
1220B - Multiplication Table | 1644A - Doors and Keys |
1644B - Anti-Fibonacci Permutation | 1610A - Anti Light's Cell Guessing |
349B - Color the Fence | 144A - Arrival of the General |
1106A - Lunar New Year and Cross Counting | 58A - Chat room |
230A - Dragons | 200B - Drinks |
13A - Numbers | 129A - Cookies |
1367B - Even Array | 136A - Presents |
1450A - Avoid Trygub | 327A - Flipping Game |
411A - Password Check | 1520C - Not Adjacent Matrix |
1538B - Friends and Candies | 580A - Kefa and First Steps |