A Completely Fair Room Allocator (CFRA) ========================================= by Twey The rooms available are as follows: A: Ground-floor corner with side window B: Ground-floor corner with balcony C: First-floor corner with side window D: First-floor corner with sloping roof E: First-floor corner with balcony F: First-floor back with single large window 1) Each housemate specifies his or her preferences in order, with the most preferred room first/given the lowest number. 2) Any conflicting first preferences are resolved by fair die roll (result modulo number of candidates, excess is re-roll) and the contested room removed from the losing candidates' preference list, shifting the remaining preferences to fill the gap. 3) If further conflicts result, go to step 2. 4) There is now a non-conflicted room allocation.