long double const fv
long double fv
long double const fv    (InputIterator first    ,InputIterator last    ,long double i    ){    if(first == last)        {        return 0.0L;        }    long double const v = 1.0L / (1.0L + i);    long double vn = 1.0L;    long double z = 0.0L;    for(InputIterator j = first; j != last; ++j)        {        z += *j * (vn *= v);        }    return z / (vn * v);}