Start: Nov, 14, 2021 22:00:00
2021年秋季学期程序设计基础(C语言)第二次考试(补题)
End: Nov, 15, 2022 02:00:00
Time elapsed:
Time remaining:

俊俊的日常 2990

Time Limit:  1 s      Memory Limit:   256 MB
Submission:125     AC:30     Score:0

Description

众所周知,俊俊每日都在两种不同的状态之中转换,撩妹to刷题或刷题to撩妹。假设一天中有m个时刻,时刻0到时刻m,分为m个时间段:0~1,1~2.....m-1~m。在这些时刻之中,又有n个时刻(由数组a[0]a[n-1]表示)。这n个时刻中,每个时刻俊俊都会转换他的状态,如果在这个时刻俊俊在刷题,那么他就会立刻去撩妹,反之亦然。在队长铁子哥的威严下,俊俊每天的0个时刻总会开始刷题,直到a[0]时刻俊俊就会去撩妹,然后到a[1]时刻俊俊又会去刷题,一直这样下去,到了时刻m,俊俊就结束了他快乐的一天,去睡觉去了。

现在铁子哥分派了一个监督俊俊的任务,在一天的m个时刻中,你可以选择一个时刻去提醒俊俊让他改变此时的状态(当然你不能在时刻a[i](0<=i<=n-1)提醒他,不然他会很生气),让最后俊俊在这一天花在刷题的事件更多,当然你也可以选择不提醒他,如果这样俊俊可以刷更多时间的题的话。最后你需要告诉铁子哥在你的提醒下,俊俊一天最多可以有多少时间刷题。(题述时刻全是正整数)

Input


第一行输入两个整数n和m(<=n<=104,2<=m<=109,n<m)

第二行输入正整数数组a(0<a[0]<a[1]<a[2]<......<a[n-1]<m)



Output

输出俊俊在你的提醒或不提醒下一天最多有多少时间可以刷题。

Samples

input
3 10 4 6 7
output
8
input
2 7 3 4
output
6

Hint

对于样例1,俊俊在时刻0到时刻4在刷题,时刻4到时刻6在撩妹,时刻6到时刻7在刷题,时刻7到时刻10在撩妹,那么你可以在时刻5提醒俊俊,让他改变状态。然后他的日常就会变成:俊俊在时刻0到时刻4在刷题,在时刻4到时刻5在撩妹,时刻5到时刻6在刷题,时刻6在时刻7在撩妹,时刻7到时刻10在刷题,刷题总时间是8。那么这样就可以让他刷最多时间的题。


对于样例2,你不应该去提醒他,因为无论怎么提醒,都不会让他的刷题时间变得更多。