panguin algorithm