UVA150 Double Time

题目背景

在公元前 $45$ 年,凯撒大帝颁布了标准历法——每年有 $365$ 天,每 $4$ 年闰一天,闰在 $2$ 月的 $29$ 日。然而此历法并不能精确的表示一个太阳年,季节开始地越来越早引起了人们的注意。到 $1582$ 年,教皇格利戈里八世规定了新的历法,从那以后,所有能被 $100$ 整除的年份中只有能被 $400$ 整除的才是闰年。另外,当年的日历要按照新历法进行调整才能与季节吻合,$1582$ 年 $10$ 月 $4$ 日(周四)的后一天定为 $1582$ 年 $10$ 月 $15$ 日(周五)。新历法和调整方案被罗马天主教国家迅速采用,但英国和美国(还包括其它一些国家)直到 $1752$ 年才开始采用,那年 $9$ 月 $2$ 日(周三)的后一天定为 $9$ 月 $14$ 日(周四)。(俄国直到 $1918$ 才作出调整,而希腊则维持旧历直到 $1923$ 年)因此有很长一段时期的历史是以两种不同的纪年方式记载的。

题目描述

写一个程序,读入日期并确定是哪一种历法,然后将该日期转换到另一种历法。

输入格式

输入由多行组成,每行包括一个日期(如```Friday 25 December 1992```)。日期的范围由```1 January 1600```到```31 December 2099```,转换后得到的日期不一定在此限内。注意,所有的星期几和月份的名称都要按所给的样式输出,即第一个字母要大写,后面的字母小写。输入的数据由一个字符串“#”号表示结束。(译注:根据星期几和日期来确定)

输出格式

输出由多行组成,每行输入对应一行输出。每行均为输入日期在另一历法下的日期。使用上面给出的描述和范例中的格式进行输出。注意,每两个相邻的值之间用空格隔开。为区分新旧历法,输出的日期若为旧历法应在“日”的的后面加一个星号(```*```)。(日和星号之间没有空格)。注意,输入的数据均不带星号。

说明/提示

注:两个历法中 $1$ 年 $1$ 月 $1$ 日都是星期一。 翻译来自https://www.cnblogs.com/devymex/archive/2010/08/21/1805051.html