#759. 回文日期

回文日期

题目描述

日常生活中,通过年、月、日这三个要素可以表示出一个唯一确定的日期。

牛牛习惯用8\red{8}位数字表示一个日期,其中,前4\red{4}位代表年份,接下来2\red{2}位代表月份,最后2\red{2}位代表日期。显然:一个日期只有一种表示方法,而两个不同的日期的表示方法不会相同。

牛牛认为,一个日期是回文的,当且仅当表示这个日期的8\red{8}位数字是回文的。现在,牛牛想知道:在他指定的两个日期之间(包含这两个日期本身),有多少个真实存在的日期是回文的。

【提示】

一个8\red{8}位数字是回文的,当且仅当对于所有的i(1<i<8)\red{i(1<i<8)}从左向右数的第i\red{i}个数字和第9i\red{9一i}个数字(即从右向左数的第i\red{i}个数字)是相同的。

例如:

·对于2016\red{2016}11\red{11}19\red{19}日,用8\red{8}位数字20161119\red{20161119}表示,它不是回文的。

·对于2010\red{2010}1\red{1}2\red{2}日,用8\red{8}位数字20100102\red{20100102}表示,它是回文的。

·对于2010\red{2010}10\red{10}2\red{2}日,用8\red{8}位数字20101002\red{20101002}表示,它不是回文的。

每一年中都有12\red{12}个月份:

其中,1,3,5,7,8,10,12\red{1,3,5,7,8,10,12}月每个月有31\red{31}天;4,6,9,11\red{4,6,9,11}月每个月有30\red{30}天;而对于2\red{2}月,闰年时有29\red{29}天,平年时有28\red{28}天。

一个年份是闰年当且仅当它满足下列两种情况其中的一种:

1.这个年份是4\red{4}的整数倍,但不是100\red{100}的整数倍;

2.这个年份是400\red{400}的整数倍。

例如:

·以下几个年份都是闰年:2000,2012,2016\red{2000 ,2012 ,2016}

·以下几个年份是平年:1900,2011,2014\red{1900,2011,2014}

输入格式

输入包括两行,每行包括一个8\red{8}位数字。

第一行表示牛牛指定的起始日期date1\red{date1}

第二行表示牛牛指定的终止日期date2\red{date2}

保证date1\red{date1}date2\red{date2}都是真实存在的日期,且年份部分一定为4\red{4}位数字,且首位数字不为0\red{0}

保证date1\red{date1}一定不晚于date2\red{date2}

输出格式

输出一行,包含一个整数,表示在date1\red{date1}date2\red{date2}之间,有多少个日期是回文的。

样例

输入样例1

20110101
20111231

输出样例

1

样例输入2

20000101
20101231

样例输出2

2

提示

对于样例1\red{1},符合条件的日期是20111102\red{20111102}

对于样例2\red{2},符合条件的日期是20011002\red{20011002}20100102\red{20100102}

对于60%\red{60\%}的数据,满足date1=date2\red{date1=date2}