Notes: on reading the 3d solutions Each solution is represented by a 12-bit integer, written in hexadecimal, with each bit assigned to represent an edge. Vertices are numbered as follows... 0: (0,0,0) 1: (1,0,0) 2: (0,1,0) 3: (1,1,0) 4: (0,0,1) 5: (1,0,1) 6: (0,1,1) 7: (1,1,1) Edges are numbered as follows: 0: v0=0, v1=1 1: v0=0, v1=2 2: v0=0, v1=4 3: v0=1, v1=3 4: v0=1, v1=5 5: v0=2, v1=3 6: v0=2, v1=6 7: v0=3, v1=7 8: v0=4, v1=5 9: v0=4, v1=6 10: v0=5, v1=7 11: v0=6, v1=7 Bit 0 (least significant) represents Edge 0. Example: 0x013 means we keep edges 0,1, and 4, and discard the rest. To read this, drop the "0x", which stands for hexadecimal, and write what's left in binary: 013 is 0000 0001 0011, which has 1's in positions 0, 1, 4, reading from the right. So there are three edges: (0,1,0)----e1----(0,0,0)----e0----(1,0,0)----e4----(1,0,1) Remember that in hexadecimal, a through f stand for 10 through 15, that is, 1010, 1011, 1100, 1101, 1110, 1111.