local mmi, mma = math.min, math.max
local n, m = io.read("*n", "*n")
local b, bsum = {}, {}
for i = 1, m do
  b[i] = io.read("*n")
end
bsum[1] = b[1]
for i = 2, m do
  bsum[i] = b[i] + bsum[i - 1]
end
local ret = n - 1
for i = 2, m do
  local bias = b[1] - 1
  local c = m / (m + 1 - i)
  local rem = bsum[m] - bsum[i - 1]
  rem = (n * (m + 1 - i) - rem) / (m + 1 - i)
  ret = mmi(ret, bias + c + rem)
end
print(ret)