放纵日
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

🐘同学下定决心要减肥了!他制定了严格的饮食计划,每天只吃健康餐。但是他也给自己留了一些"放纵日",在这些日子里,他可以好好享受一下放纵餐。

他准备把这样的日子作为"放纵日":将年月日拼在一起得到一个数字(例如1,1,1表示0001年01月01日,得到的数字就是00010101,去掉前导0后就是10101),如果这个数字是质数,那么这一天就是“放纵日”!

现在给定一个日期,请你帮🐘同学计算一下,下一个放纵日是什么时候

(吃饱了才有力气减肥)

输入描述:

第一行输入一个正整数T(1 \leq T \leq 10^5),表示测试的组数。

对于每组测试,输入三个整数Y(1\leq Y \leq 2026),M(1 \leq M \leq 12),D(1 \leq D \leq 31),表示当前的年月日。

输出描述:

输出一个8位数字符串,表示下一个放纵日的年月日,保证2028年前有解。
示例1

输入

复制
1
420 6 14

输出

复制
04200617

说明

现在是0420年06月14日,下一次放纵餐的日期是0420年06月17日

备注:

‌四年一闰,百年不闰,四百年再闰‌。