Problem: The following analog clock has two hands that can move independently of each other. [asy]             unitsize(2cm);             draw(unitcircle,black+linewidth(2));              for (int i = 0; i < 12; ++i) {                 draw(0.9*dir(30*i)--dir(30*i));             }             for (int i = 0; i < 4; ++i) {                 draw(0.85*dir(90*i)--dir(90*i),black+linewidth(2));             }             for (int i = 1; i < 13; ++i) {                 label("\small" + (string) i, dir(90 - i * 30) * 0.75);             }             draw((0,0)--0.6*dir(90),black+linewidth(2),Arrow(TeXHead,2bp));             draw((0,0)--0.4*dir(90),black+linewidth(2),Arrow(TeXHead,2bp)); [/asy] Initially, both hands point to the number $12$ . The clock performs a sequence of hand movements so that on each movement, one of the two hands moves clockwise to the next number on the clock face while the other hand does not move.
Let $N$ be the number of sequences of $144$ hand movements such that during the sequence, every possible positioning of the hands appears exactly once, and at the end of the $144$ movements, the hands have returned to their initial position. Find the remainder when $N$ is divided by $1000$

Solution: This problem is, in essence, the following:  A $12\times12$ coordinate grid is placed on a (flat) torus; how many loops are there that pass through each point while only moving up or right?  In other words, Felix the frog starts his journey at $(0,0)$ in the coordinate plane.  Every second, he jumps either to the right or up, until he reaches an $x$ - or $y$ -coordinate of $12$ .  At this point, if he tries to jump to a coordinate outside the square from $(0,0)$ to $(11,11)$ , he "wraps around" and ends up at an $x$ - or $y$ - coordinate of $0$ .  How many ways are there for Felix to jump on every grid point in this square, so that he ends at $(0,0)$ ?  This is consistent with the construction of the flat torus as $\mathbb Z^2/12\mathbb Z^2$ (2-dimensional modular arithmetic. $(\mathbb{Z}_{12})^2$
Moving on, define a $\textit{path}$ from point $A$ to point $B$ to be a sequence of "up"s and "right"s that takes Felix from $A$ to $B$ .  The $\textit{distance}$ from $A$ to $B$ is the length of the shortest path from $A$ to $B$ .  At the crux of this problem is the following consideration:  The points $A_i=(i,12-i), i\in{0,...,11}$ are pairwise equidistant, each pair having distance of $12$ in both directions.
[asy] size(7cm); for (int x=0; x<12; ++x){ for (int y=0; y<12; ++y){ fill(circle((x,y),0.05));}} for (int i=0; i<12; ++i){ fill(circle((i,11-i),0.1),red);} pen p=green+dashed; path u=(3,8)--(4,8)--(4,9)--(4,10)--(4,11)--(5,11)--(5,11.5); path v=(5,-0.5)--(5,0)--(5,1)--(6,1)--(6,2)--(6,3)--(6,4)--(7,4); draw(u,p); draw(v,p); pen p=blue+dashed; path u=(4,7)--(5,7)--(5,8)--(5,9)--(5,10)--(6,10)--(6,11)--(6,11.5); path v=(6,-0.5)--(6,0)--(7,0)--(7,1)--(7,2)--(7,3)--(8,3); draw(u,p); draw(v,p); [/asy]
A valid complete path then joins two $A_i$ 's, say $A_i$ and $A_j$ .  In fact, a link between some $A_i$ and $A_j$ fully determines the rest of the cycle, as the path from $A_{i+1}$ must "hug" the path from $A_i$ , to ensure that there are no gaps.  We therefore see that if $A_0$ leads to $A_k$ , then $A_i$ leads to $A_{i+k}$ .  Only the values of $k$ relatively prime to $12$ result in solutions, though, because otherwise $A_0$ would only lead to $\{A_i:\exists n\in \mathbb Z:i\equiv kn\quad\text{mod 12}\}$ .  The number of paths from $A_0$ to $A_k$ is ${12\choose k}$ , and so the answer is
\[{12\choose1}+{12\choose5}+{12\choose7}+{12\choose11}=1\boxed{608}.\]

Answer:  608