It'd be nice to see some attempts before I post the solution.