HL Decomposition