Solution to 54; trying to not be too messy here.