B. Robin Hood and the Major Oak

time limit per test

1 second

memory limit per test

256 megabytes

In Sherwood, the trees are our shelter, and we are all children of the forest.

The Major Oak in Sherwood is known for its majestic foliage, which provided shelter to Robin Hood and his band of merry men and women.

The Major Oak grows iiii new leaves in the ii-th year. It starts with 11 leaf in year 11.

Leaves last for kk years on the tree. In other words, leaves grown in year ii last between years ii and i+k−1i+k−1 inclusive.

Robin considers even numbers lucky. Help Robin determine whether the Major Oak will have an even number of leaves in year nn.

Input

The first line of the input contains a single integer tt (1≤t≤1041≤t≤104) --- the number of test cases.

Each test case consists of two integers nn, kk (1≤n≤1091≤n≤109, 1≤k≤n1≤k≤n) --- the requested year and the number of years during which the leaves remain.

Output

For each test case, output one line, "YES" if in year nn the Major Oak will have an even number of leaves and "NO" otherwise.

You can output the answer in any case (upper or lower). For example, the strings "yEs", "yes", "Yes", and "YES" will be recognized as positive responses.

Example

Input

Copy

复制代码

5

1 1

2 1

2 2

3 2

4 4

Output

Copy

复制代码
NO
YES
NO
NO
YES

Note

In the first test case, there is only 11 leaf.

In the second test case, k=1k=1, so in the 22-nd year there will be 22=422=4 leaves.

In the third test case, k=2k=2, so in the 22-nd year there will be 1+22=51+22=5 leaves.

In the fourth test case, k=2k=2, so in the 33-rd year there will be 22+33=4+27=3122+33=4+27=31 leaves.

解题说明:此题是一道数学题,每年能生成i^i个树叶,每个树叶能存活k年,求最后的数量是否是偶数。找规律能发现此题为找出以n结尾的连续整数k的和是否为偶数。

cpp 复制代码
#include<iostream>
#include<cmath>
using namespace std;

void solve()
{
	int n, k;
	cin >> n >> k;
	if (n % 2 == 0)
	{
		if (k / 2 % 2 == 0)
		{
			cout << "YES" << '\n';
			return;
		}
		else 
		{
			cout << "NO" << '\n';
			return;
		}
	}
	else
	{
		if ((k / 2 + (k % 2 != 0)) % 2 == 0)
		{
			cout << "YES" << '\n';
			return;
		}
		else
		{
			cout << "NO" << '\n';
			return;
		}
	}
}

int main() 
{
	int t = 1;
	cin >> t;
	while (t--)
	{
		solve();
	}
	return 0;
}
相关推荐
hrrrrb1 分钟前
【算法设计与分析】贪心算法
算法·贪心算法·代理模式
TracyCoder12314 分钟前
LeetCode Hot100(10/100)—— 53. 最大子数组和
算法·leetcode
Howrun77714 分钟前
C++ 文件操作全知识点详细讲解
c++
千金裘换酒20 分钟前
栈和队列定义及常用语法 LeetCode
java·开发语言
be or not to be31 分钟前
JavaScript 对象与原型
开发语言·javascript·ecmascript
0x5342 分钟前
JAVA|智能无人机平台(二)
java·开发语言·无人机
Σίσυφος19001 小时前
霍夫变换vs LS vs RANSAC 拟合直线 MATLAB实现
算法·计算机视觉·matlab
嵌入小生0071 小时前
基于Linux系统下的C语言程序错误及常见内存问题调试方法教程(嵌入式-Linux-C语言)
linux·c语言·开发语言·嵌入式·小白·内存管理调试·程序错误调试
假女吖☌1 小时前
限流算法-redis实现与java实现
java·redis·算法
小温冲冲1 小时前
QPixmap 详解:Qt 中的高效图像处理类
开发语言·图像处理·qt