#D0993. 闰年判定

闰年判定

题目描述

33DAI 手上有 tt 个年份,每个年份都不小于 20262026。他听说闰年的判定规则不只一种,于是想把这 tt 个年份在下面两种规则下各判定一次。

规则一(现行公历,即格里高利历):年份 yy 是闰年,当且仅当

  • (yy 能被 44 整除,且 yy 不能被 100100 整除);或
  • (yy 能被 400400 整除)。

规则二:在规则一的基础上再加一条 —— 若 yy 能被 32003200 整除,则 yy 不是闰年。

也就是说,按规则二,yy 是闰年当且仅当 yy 在规则一下是闰年,并且 yy 不能被 32003200 整除。

33DAI 想知道:对每个年份,它在两种规则下分别是不是闰年。

输入格式

从标准输入读入数据。

输入的第一行是一个整数 tt(1≤t≤1051 \le t \le 10^5),表示年份的个数。

接下来 tt 行,每行一个整数 yy(2026≤y≤10182026 \le y \le 10^{18}),表示一个年份。

输出格式

输出到标准输出。

输出 tt 行,顺序与输入一致。对每个年份输出一行两个整数 aa 与 bb,用一个空格隔开:

  • 若该年份在规则一下是闰年,则 a=1a = 1,否则 a=0a = 0;
  • 若该年份在规则二下是闰年,则 b=1b = 1,否则 b=0b = 0。
1
2026
0 0
4
2028
2100
2400
2800
1 1
0 0
1 1
1 1
3
3200
3201
6400
1 0
0 0
1 0

样例解释

  • 样例 1:20262026 不能被 44 整除,所以在两种规则下都不是闰年。
  • 样例 2:20282028 能被 44 整除、不能被 100100 整除,是闰年;21002100 能被 100100 整除、不能被 400400 整除,不是闰年;24002400 与 28002800 都能被 400400 整除,是闰年。这四个年份都不能被 32003200 整除,因此两条规则给出的结果相同。
  • 样例 3:32003200 能被 400400 整除,所以规则一下是闰年;它也能被 32003200 整除,所以规则二下不是闰年。32013201 不能被 44 整除,两种规则下都不是闰年。64006400 能被 400400 整除、也能被 32003200 整除,所以规则一下是闰年、规则二下不是。

提示

  • 本题输入量较大,建议使用较快的读入方式。
  • 输出共 tt 行,每行两个整数之间用一个空格隔开。

数据范围

对于所有测试数据,保证 1≤t≤1051 \le t \le 10^5,2026≤y≤10182026 \le y \le 10^{18}。

子任务 分值 测试点数 限制
11 3030 55 t≤100t \le 100,y≤104y \le 10^4
22 t≤104t \le 10^4,y≤109y \le 10^9
33 4040 无额外限制

共 1515 个测试点,按测试点计分:子任务 11、22 的每个测试点 66 分,子任务 33 的每个测试点 88 分。