I understand that the rank algorithm starts by picking a student, putting them in their top choice, going to the next student, etc. If a student's top choice is already full by previous students, then the computer will examine the program's rank list and bump off any students to squeeze this one in should this student be ranked higher by the program. This process continues until every program is full. I understand this algorithm gives precedence to the student's rank list, which is nice. But does this algorithm actually find a single optimal solution, or does the solution change depending on the order in which the algorithm considers the students? I'm hoping a computer science person can explain this. Also, say that I and another student are applying to... whatever... Hopvard Residency. Say that I rank Hopvard 1st, and the other student ranks Hopvard 2nd. However, Hopvard ranks the other student 1st and ranks me 2nd. Does this pose a problem for the algorithm? If the other student is pulled by her number 1 choice, then there's no conflict... but if her number choice didn't rank her highly enough, then we both are "equally eligible" for Hopvard... but won't I get it before her because the algorithm is student-biased rather than program-biased? (Or maybe it doesn't matter at all, as once other students get put into Hopvard, I'll get kicked out by the algorithm.) Are there any other possible problems (known or unknown) with the rank algorithm? People here seem to know about these things... Thanks!