highTri = Compile[{{S1, _Integer}}, Module[{xS0=0, xS1=S1},
While[xS1-xS0*(xS0+1)/2>xS0, xS0++];
xS0]];
overTri = Compile[{{S2, _Integer}}, Module[{xS0=0, xS2=S2},
While[xS2-xS0*(xS0+1)/2>xS0, xS0++];
xS2 - (xS0*(1+xS0)/2)]];
tt = SparseArray[{{12, 1} -> 0, {1, 12} -> 0}];
K1 = 0;
m = 14; While[K1<12, J1=highTri[m*K1]; X =2*(m+K1+(J1*2+1));
K2 = 6 m - K1 + X; K3 = 6 K2 - m + X; K4 = 6 K3 - K2 + X;
o = overTri[m*K1]; tt[[1, K1+1]] =highTri[m*K1];
tt[[2, K1+1]] = highTri[m*K2-o]; tt[[3, K1+1]] = highTri[K2*K3-o]; tt[[4, K1+1]] = highTri[K3*K4-o];
K1++]; k = 1;
While[k<13, z = 1; xx = 99; While[z<5 && xx == 99,
If[tt[[1, k]]+ 7 tt[[3, k]] - 7 tt[[2, k]] - tt[[4, k]] == 0, Break[]];
If[z == 1, t = -tt[[z, k]]-1; tt[[z, k]] = t, s = -tt[[z-1, k]]-1; tt[[z-1, k]]=s; t =-tt[[z, k]]-1]; tt[[z, k]] = t;
w = 1; While[w<5 && xx == 99, If[tt[[1, k]]+ 7 tt[[3, k]] - 7 tt[[2, k]] - tt[[4, k]] == 0, xx =0; Break[]]; If[w==z, w++];
t=-tt[[w, k]] - 1; tt[[w, k]]=t; If[tt[[1, k]]+ 7 tt[[3, k]] - 7 tt[[2, k]] - tt[[4, k]] == 0, xx =0; Break[],
t = -tt[[w, k]] - 1]; tt[[w, k]] = t; w++]; z++]; cc = tt[[1, k]] -6 tt[[2, k]] + tt[[3, k]]; p = 5; While[p < 14-k,
tt[[p, k]] = 6 tt[[p-1, k]] - tt[[p-2, k]] + cc; p++]; k++];
a=1; list2 = Reap[While[a<12, b=a; While[b>4, Sow[0]; b--]; While[b>0, Sow[tt[[b, a+1-b]]]; b--]; a++]][[2, 1]]; list2