Find last three nonzero digits of $1^1 \cdot 2^2 \cdot 3^3 \cdot ... \cdot 25^{25}$ 
Find the last three nonzero digits of $1^1 \cdot 2^2 \cdot  3^3 \cdot  ... \cdot  25^{25}$.

I had been sitting with this problem whole day now, what I had tried so far:
Dividing the product by $10^{100}$ (since there are $5^{100}$ (taking fives from factors as well)). And playing with Chinese remainder theorem.
$1^1 \cdot  2^2 \cdot  3^3   \dots   25^{25} \equiv 0 \pmod{8}$
But I don't see any way apart from brute forcing the modulus $125$.
I had also noticed that the product can be rewritten as: $$ \frac{25!}{0!}\cdot  \frac{25!}{1!} \cdot  \frac{25!}{2!} \cdot  \frac{25!}{3!} \cdot  \cdot  \cdot  \frac{25!}{24!}$$
But I can't seem to get any useful information from that.
 A: So looking at what's left after the factors of $5$ and a matching number of $2$s are cleared (here from $10, 20$ and the powers of $2$):
$$ R = 2^{48}\cdot3^{3+15}\cdot6^{6}\cdot7^{7}\cdot9^{9}
\cdot11^{11}\cdot12^{12}\cdot13^{13}\cdot14^{14}
\cdot17^{17}\cdot18^{18}\cdot19^{19} \cdot21^{21}\cdot22^{22} \cdot23^{23} \cdot24^{24} $$
and reducing to primes
$$ R = 2^{204}\cdot3^{135}\cdot7^{42}
\cdot11^{33}\cdot13^{13}\cdot17^{17}\cdot19^{19}\cdot23^{23}$$
For finding $R \bmod 1000$, we can cast out $100$'s since the multiplicative order of each prime mod 1000 must divide $100$, and since $7\times 11\times 13 = 1001$, we'll clean those up too.
$$(R\bmod 1000) \equiv 2^{4}\cdot3^{35}\cdot7^{29}
\cdot11^{20}\cdot17^{17}\cdot19^{19}\cdot23^{23} $$
So basically there is still  a lot of straight modular exponentiation to do. From each of the above factors:
$$(R\bmod 1000) \equiv 16\cdot 707\cdot 607\cdot 201\cdot 177\cdot 979\cdot 567
 = 824$$
Plenty of room for error in that process, though, and no pretty shortcut.
