Cutensor Complicated Tensor Contractions

I have a question regarding the best use of cutensor to complete a complicated tensor contraction. I am aware that this sounds like a call for a higher level library, but most of the ones i have found (in c++) could not fill all the requirements on the problem. (Open to suggestions though)
The following contraction is what i want to calculate:

X_a,b,c,d = SUM_q A(q)_a,i B(q)_b,i L(q)_i,j M(q) C(q)_c,j D(q)_d,j

Where following the Einstein convention i,j are contracted as well as q.
My Problems are as follows:

I would need either a 3-way contraction for A,B,L or an “outer-product” for A,B-> T(q)_a,b,i an can not find this.

I want to reserve the q-reduction throughout the processes and it would be nice to have it as a tensor dimension but it seems that a doubled index on the left must be contracted aka T_q,a,b = A_q,a,i B_q,b,i seems to be impossible. This could i guess be done using for loops and proper strides, but i thought there might be a smarter way around this.

Any help or suggestions would be appreciated
Best Regards