==> geometry/hypercube.s <== Take any vertex of the hypercube, and ask how many k-V's it participates in. To make a k-V it needs to combine with k adjacent and orthogonal vertices, and there are (nCk) distinct ways of doing this [that is, choose k directions out of n possible ones]. Then multiply by 2^n, the total number of vertices. But this involves multiple counting, since each k-V is shared by 2^k vertices. So divide by 2^k, and this yields the answer: (nCk)*2^{n-k}. For example, 12d hypercube: 0-v: 4,096 1-v: 24,576 2-v: 67,584 3-v: 112,640 4-v: 126,720 5-v: 101,376 6-v: 59,136 7-v: 25,344 8-v: 7,920 9-v: 1,760 10-v: 264 11-v: 24 12-v: 1