#include using namespace std; //#include //using namespace atcoder; using ll=long long; using Graph=vector>; #define MAX 200003 #define MOD 998244353 #define INF 1000000000 int main(){ ll N; int M; cin>>N>>M; vector B(M); for(int i=0;i>B[i]; } double ans=(double)(N-1); ll sum=0; for(int i=M-1;i>0;i--){ sum+=(N-B[i]); double tmp=(double)(B[0]-1)+(double)M/(double)(M-i)+(double)sum/(double)(M-i); ans=min(ans,tmp); } printf("%.9lf\n",ans); }