all algorithm for study