
Building a Tower
Let $f(n)$ represent the number of ways one can fill a $3 \times 3 \times n$ tower with blocks of $2 \times 1 \times 1$.
You're allowed to rotate the blocks in any way you like; however, rotations, reflections etc of the tower itself are counted as distinct.
For example (with $q = 100000007$):
$f(2) = 229$,
$f(4) = 117805$,
$f(10) \bmod q = 96149360$,
$f(10^3) \bmod q = 24806056$,
$f(10^6) \bmod q = 30808124$.
Find $f(10^{10000}) \bmod 100000007$.