b[n_,l_]:=b[n,l]=模[{d,f,g,k},d=长度[l]/3;f=错误;其中[n==0,1,l[[1;;d]]==数组[f&,d],b[n-1,连接[l[[d+1;;3*d]],数组[True&,d]]],True,对于[k=1,!l[k]],k++];g=替换部件[l,k->f];
如果[k>1,g=ReplacePart[g,2*d-1+k->f]];
如果[k<d,g=ReplacePart[g,2*d+1+k->f]];
如果[k>2,g=ReplacePart[g,d-2+k->f]];
如果[k<d-1,g=替换部件[g,d+2+k->f]];
展开[b[n,ReplacePart[l,k->f]]+b[n、g]*x]]];
a[n_]:=函数[p,总和[系数[p,x,i],{i,0,指数[p,x]}][b[n,数组[True&,n*3]]];