Optimizing your O(n!) solution... just kidding