U728990 补给抵达日期 (Hard Version)

题目背景

远航舰队采用标准的地球历法进行时间同步。由于各个前线空间站的距离不同,补给飞船在太空中航行所需的时间 $n$ 天也各不相同。

题目描述

给定基地发出补给飞船的日期,以及飞船航行所需的天数 $n$,请你编写程序,计算并输出飞船抵达前线空间站的确切日期。 由于沿用地球历法,你需要考虑不同月份的天数差异,以及二月份的闰年与平年情况。 保证输入日期合法,并且计算得到的日期仍然位于: `1000-01-01` 至 `9999-12-31` 范围内。

输入格式

第一行输入一个整数 $T$,表示共有 $T$ 组测试数据。 接下来 $T$ 行,每行输入一个发出补给的日期和一个非负整数 $n$,两者之间用一个空格隔开。 日期格式如下: `yyyy-mm-dd` 其中: - yyyy 表示四位年份; - mm 表示两位月份; - dd 表示两位日期。 如果数字不足规定位数,前面使用 0 补齐。

输出格式

对于每组测试数据,输出一行,表示补给抵达的日期(即输入日期的 $n$ 天后)。 输出格式: `yyyy-mm-dd`

说明/提示

### 数据范围 对于 $100\%$ 的测试数据: - $1 \le T \le 10000$ - $0 \le n \le 10000$ ### 说明 地球历法的闰年判断规则如下: - 能被 400 整除的年份是闰年; - 能被 4 整除但不能被 100 整除的年份是闰年; - 其他年份均为平年。 例如: - 2000 是闰年 - 1900 不是闰年 - 2024 是闰年 - 2023 不是闰年