SPFPL Alg