#arc0102. [arc010_2]超大型連休

[arc010_2]超大型連休

问题文

2011年,AtCoder国的高桥首相做出了一项重大决定。
这个决定是...改革法律。他决定修改与国民假日有关的法律,增加休息日!
这个尊重国民创造力的决定使霞关变成了一个魔境!

你是霞关的国土交通省的职员,在这次法律改革中,你被上司分配了新的任务。
这个任务是计算2012年的“连休最大天数”。
通过提前计算连休的长度,预测国民的行动,部分降低高速公路费用,激活经济。
因此,你不能失败,因为这将无法准确预测国民的行动。

以下是“连休”的定义和注意事项。

  1. AtCoder国使用的日历是公历
  2. “连休”是指“休息日”连续存在的情况。
  3. “周六”、“周日”、“祝日”、“补休日”都等同于“休息日”。
  4. 如果“祝日”与其他休息日在同一天指定,“补休日”必须设置。
  5. “补休日”按照祝日的时间顺序确定,是祝日之后最近的工作日(不包括休息日)。
  6. 2012年1月1日是星期天。

输入

从标准输入中以以下格式给出输入:N
m₁/d₁
m₂/d₂
:
:
mₙ/dₙ

  • 第1行是表示祝日天数的整数N,满足0≦N≦366。
  • 第2行到第N+1行依次给出N个祝日的日期。
  1. mi 是第i(1≦i≦366)个给出的祝日的月份,满足1≦mi≦12。

  2. di 是第i(1≦i≦366)个给出的祝日的日期,

  3. 当mi = 2时,满足1≦di≦29。

  4. 当mi = (4, 6, 9, 11)时,满足1≦di≦30。

  5. 当mi = (1, 3, 5, 7, 8, 10, 12)时,满足1≦di≦31。

  6. mi 和 di 都是整数。

  7. mi 和 di 必定由斜杠/分隔。

  8. 祝日不一定按照时间顺序给出,请注意不会重复给出同一天。

输出

输出2012年改革后的连休最大天数。
输出到标准输出,末尾包含换行符。


输入例子1


1
1/9

输出例子1


3
  • 最长的是1/7(周六), 1/8(周日), 1/9(周一) 连休共3天。

输入例子2


1
1/10

输出例子2


2
  • 1/10(星期二)是祝日,最长连休为1/7(周六),1/8(周日)等2天。

输入例子3


1
1/7

输出例子3


3
  • 1/7是周六,所以最近的工作日1/9将成为补休日。
  • 因此,1/7(周六),1/8(周日),1/9(周一)共3天连休。

输入例子4


2
1/7
1/9

输出例子4


4
  • 1/7是周六,希望将补休日设在之后的日子上,而1/9正好是祝日,所以1/10将成为补休日。
  • 因此,1/7(周六),1/8(周日),1/9(周一),1/10(周二)共4天连休。