Let $C$ be a pre-additive category with a zero object $O$. Suppose that every morphism in $C$ has a kernel and a cokernel and that every monomorphism in $C$ is a kernel of some morphism. Prove that every morphism $f$ in $C$ can be written as $hg$ for some epimorphism $g$ and monomorphism $h$.
How to prove it? I have no way to solve. Thanks.