Solutions by Creewick.