3.2 Algorithm