using System;

class C
{
	static int[] Read() => Array.ConvertAll(Console.ReadLine().Split(), int.Parse);
	static (int, int) Read2() { var a = Read(); return (a[0], a[1]); }
	static void Main()
	{
		var (n, m) = Read2();
		var b = Read();

		var dp = new double[m];
		dp[^1] = n - b[^1];
		var sum = m + dp[^1];

		for (int i = m - 2; i >= 0; i--)
		{
			dp[i] = Math.Min(dp[i + 1] + b[i + 1] - b[i], sum / (m - i - 1));
			sum += dp[i];
		}
		Console.WriteLine(dp[0] + b[0] - 1);
	}
}