list ad algorithm