HFP Algorithm