The Exact Cover Algorithm