Complete the options generator that considers all constraints
Complete the options generator that considers all constraints