Qmxd1[x_, rho_, p_] := Module[{n = Floor[x], b, lambda, f, beta, i, j, k, z}, b = Sum[i*p[[i]], {i,Length[p]}]; lambda = rho/b; beta = p*lambda*Exp[-lambda*Range[Length[p]]]; f[1,1] = (1 - rho); For[j = 2, j <= n+1, j++, f[1,j] = 0; ]; For[i = 2, i <= n+1, i++, f[i,1] = Sum[f[(i-1),k], {k,n+1}]; For[j = 2, j <= n+1, j++, If [Length[p] >= (i-1), f[i,j] = -1/(j-1) Sum[beta[[z]]*f[(i-z),(j-1)],{z,i-1}], f[i,j] = -1/(j-1) Sum[beta[[z]]*f[(i-z),(j-1)],{z,Length[p]}] ]; ]; ]; 1 - Exp[lambda x] (f[n+1,1] + Sum[f[n+1,k] (x-n)^(k-1), {k,2,n+1}]) ]