As the title says, I've been trying to prove this:

$(\lnot A \to B) \vdash (\lnot B) \to A)$

but unfortunately keep winding up with crazy long steps and then I have no idea where to go. The only axioms I can use are:
\begin{gather}
A \to (B \to A), \tag{Ax1} \\[0.1in]
\big(A \to (B \to C)\big) \to \big((A \to B) \to (A \to C)\big), \tag{Ax2} \\[0.1in]
(\neg B \to \neg A) \to (A \to B), \tag{Ax3} \\[0.1in]
A \to \neg (\neg A). \tag{Ax4}
\end{gather}
Any help would be greatly appreciated. I thought about doing $(\mathrm{Ax2})$ first to get the $B$ and $A$ rearranged, followed by $(\mathrm{Ax3})$, but then I got lost there.