Iteration of custom defined functions in Mathematica

Can I have some help regarding this iteration:
Let

L0[j_] := (-En + 2 j mu4 + (ld mu4)/2)/((2 + 2 j) (2 j + ld))

S0[j_] := (2 (-1 + 2 j) + ld + mu2 - mu4^2/4)/((2 + 2 j) (2 j + ld))

L1[j_] := L0[j + 1]*L0[j] + S0[j + 1]

S1[j_] := L0[j + 1]*S0[j]

L2[j_] := L1[j + 1]*L0[j] + S1[j + 1]

S2[j_] := L1[j + 1]*S0[j]

and so on to some n, where n:=1,2,3,…

How can I generate Ln[j] and Sn[j], for arbitrary n?

Thank you!

Hint: Instead of naming your functions

L1[j],S1[j],L2[j],S2[j],...

what if you named them

L[1,j],S[1,j],L[2,j],S[2,j]...

If you did that then could you think of a way of defining

L[i,j] and S[i,j]

in terms of

L[i-1,j] and S[i-1,j] plus a few other details

?

And if you could do that then could you think of a way of defining all n of them

?

Thank you very much, Bill Nelson, it works now!