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;
}
相关推荐
D_evil__1 小时前
【Effective Modern C++】第三章 转向现代C++:16. 让const成员函数线程安全
c++
微风中的麦穗1 小时前
【MATLAB】MATLAB R2025a 详细下载安装图文指南:下一代科学计算与工程仿真平台
开发语言·matlab·开发工具·工程仿真·matlab r2025a·matlab r2025·科学计算与工程仿真
2601_949146531 小时前
C语言语音通知API示例代码:基于标准C的语音接口开发与底层调用实践
c语言·开发语言
开源技术1 小时前
Python Pillow 优化,打开和保存速度最快提高14倍
开发语言·python·pillow
学嵌入式的小杨同学1 小时前
从零打造 Linux 终端 MP3 播放器!用 C 语言实现音乐自由
linux·c语言·开发语言·前端·vscode·ci/cd·vim
wfeqhfxz25887822 小时前
YOLO13-C3k2-GhostDynamicConv烟雾检测算法实现与优化
人工智能·算法·计算机视觉
Aaron15882 小时前
基于RFSOC的数字射频存储技术应用分析
c语言·人工智能·驱动开发·算法·fpga开发·硬件工程·信号处理
Queenie_Charlie2 小时前
前缀和的前缀和
数据结构·c++·树状数组
mftang3 小时前
Python 字符串拼接成字节详解
开发语言·python
jasligea3 小时前
构建个人智能助手
开发语言·python·自然语言处理