for (int s = 0; l <= S; ++s) for (int l = 0; l <= L; ++l) f(p, s, l) = 1; for (int s = 1; l <= S; ++s) for (int l = 1; l <= L; ++l) { if (l > 1) f(p, s, l) = p * f(p, s - 1, l) + (1 - p) * f(p, s, l - 1); else f(p, s, l) = p * f(p, s - 1, l); }