Solutions by Joe Tym.