Approach 1: Enumeration Approach 2: Greedy 3rd Approach: Gale-Shapley Algorithm Gale-Shapley Algorithm