I guess somebody made me do more of these (and fix my solution to 29)