SetDirectory["C:/drorbn/AcademicPensieve/Projects/Arrow_Diagrams_and_gl(N)"];
<< "Arrow_Diagrams_and_gl(N).m"

diag=BasisAArrow[4][[120]]

allterms= List@@Expand[(Times @@ diag) /. ar[p_,q_] :> 
LTAt[p,q] + 1/2(EQAt[p,q] - CAt[p]+CAt[q]-CAt[])
];
s=Sum[
dirs=allterms[[m1]];
coeff= dirs /. (_CAt|_EQAt|_LTAt)-> 1;
k=0;
w= Table[1, {2Length[diag]}];
ltpairs = {};
dirs /. {
LTAt[p_,q_] :> (
w[[p]] = e[i=++k, j=++k];
w[[q]] = e[j,i];
AppendTo[ltpairs, {i,j}];
),
EQAt[p_, q_] :> (w[[p]] = w[[q]] = e[i=++k, i];),
CAt[p_] :> (
w[[p]] = e[i=++k, i];
coeff *= h[i];
),
CAt[] :> (coeff *= h[++k]^2;)
};
w = DeleteCases[w, 1];
allots = OrderTypes[k, ltpairs];
Sum[
ot=allots[[m2]];
Times[
(* Binomial[n, Max[ot]], *)
n^Max[ot],
coeff /. h[i_] :> h[ot[[i]]],
W@@w /. e[i_, j_] :> alpha[ot[[i]], ot[[j]]]
],
{m2, Length[allots]}
], {m1, Length[allterms]}
];

Length[Ws=Cases[s, _W, Infinity]]

Length[Union[Ws]]

Length[Cases[Expand[s], _W, Infinity]]