algrithms from introduction 2 algrithms by TCRC included