A Algorithm