What is an algorithm of thoughts (AoT)?