# Lists of labelled vectors, how to output a list of tuples which sum to zero

list = {{1, 1, 0}, {1, 0, 1}, {0, 1, 1}, {-1, 1, 0}, {1, -1, 0}, {-1, -1, 0}, {-1, 0, 1}, {1, 0,-1}, {-1, 0, -1}, {0, -1, 1}, {0, 1, -1}, {0, -1, -1}};

list2 = {{2, 0, 0}, {0, 2, 0}, {0, 0, 2}, {-2, 0, 0}, {0, -2, 0}, {0, 0, -2}}

@Ulrich Neumann gave the following algorithm which finds the all zero sums (duplication is allowed) where "a" vectors are selected from list and "b" vectors from list2.

`slist = Tuples[list, {a}]; listb = Tuples[list2, {b}] Table[{li, Select[slist, Total[#] == -Total[li] &]}, {li, listb}]`

For instance, when a=2, and b=1, one part of the result which the above code gives:{{{2, 0, 0}}, {{{-1, 1, 0}, {-1, -1, 0}}, {{-1, -1, 0}, {-1, 1, 0}}, {{-1, 0, 1}, {-1, 0, -1}}, {{-1, 0, -1}, {-1, 0, 1}}}}

My problem is listing the results .I want to assign letters to each vectors in the list and list2, let list = {a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12}; where a1={1, 1, 0}, a2={1, 0, 1}, a3={0, 1, 1}, a4={-1, 1, 0}, a5={1, -1, 0}, a6={-1, -1, 0},a7= {-1,0,1}, a8= {1,0,-1}, a9= {-1,0,-1}, a10={0,-1,1}, a11={0,1,-1}, a12={0,-1,-1},

and list2={b1, b2, b3, b4, b5, b6} where b1={2, 0, 0}, b2={0, 2, 0}, b3={0, 0, 2}, b4={-2, 0, 0}, b5={0, -2, 0}, b6={0, 0, -2}.

I want to have the results in the associated form. So for instance, reconsider the specific part of result: {{{2, 0, 0}}, {{{-1, 1, 0}, {-1, -1, 0}}, {{-1, -1, 0}, {-1, 1, 0}}, {{-1, 0, 1}, {-1, 0, -1}}, {{-1, 0, -1}, {-1, 0, 1}}}}. It needs to be in the form: {{b1}, {{a4, a6}, {a6, a4}, {a7, a9}, {a9, a7}}} and I want the whole output to be in terms of letters rather than explicit vectors. How can we manage this ?