See attached solution