https://9lib.org/document/zkw67311-fast-solvers.html