#539. 走廊消息传递

走廊消息传递

说明

<!DOCTYPE html> <html> <body>

在我校某条狭长走廊上,总是上演着这样的一幕:一群逗逼各种跑来跑去瞎喊着"要放假啦""只有化学班要考期末考""停课停课"这样的消息。

让我们来研究一下这种现象。

我们将走廊看作一条数轴,走廊上有n个人,开始时只有最左边的人得知一个惊人的消息。所有人都会一直不定地乱跑或是停在原地,跑步的速度最大是每秒一个单位长度。当一个人得知这个消息后,他就会一直咆哮,与他距离小于等于K的所有人都能瞬间得知这个消息并开始咆哮。

现已知同学们的初始位置以及咆哮的最大距离K,请你计算出最少需要多少时间使得每个人都得知这个消息。

输入格式

第一行一个实数K(0 ≤ K ≤ 10^6),表示咆哮的最大距离。

第二行一个整数n(1 ≤ n ≤ 10^5),表示人数。

接下来n行每行一个实数Di(0 ≤ Di ≤ 10^9),表示第i个人到走廊最左端的距离。保证给出的距离单调不减(允许一个时刻有两个人在同一个位置)。

输出格式

输出一个实数,表示所有人都得知这个消息所需的最小时间。

与答案相差在10^-3以内的输出将被判为正确。

样例

输入:

3.000
2
0.000
6.000
    

输出:

1.500
    

输入:

1.000
4
0.000
4.000
4.000
8.000
    

输出:

1.000
    
</body> </html>

样例