{
    "math": {
        "name": "Math",
        "description": "Mathematics problems, including algebra, geometry, calculus, and more.",
        "topics": {
            "algebra": {
                "name": "Algebra",
                "description": "Algebra problems, including including expressions, equations, and more.",
                "topics": {
                    "linear-equations": {
                        "name": "Linear Equations",
                        "description": "Problems involving linear equations.",
                        "topics": {
                            "standardForm": {
                                "name": "Standard Form",
                                "description": "Problems involving linear equations in standard form (ax + b = c).",
                                "parameters": {
                                    "minCoefficient": {
                                        "type": "number",
                                        "name": "Minimum Coefficient",
                                        "description": "The minimum value for the coefficient a.",
                                        "default": -20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "maxCoefficient": {
                                        "type": "number",
                                        "name": "Maximum Coefficient",
                                        "description": "The maximum value for the coefficient a.",
                                        "default": 20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "minConstant": {
                                        "type": "number",
                                        "name": "Minimum Constant",
                                        "description": "The minimum value for the constant b.",
                                        "default": -20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "maxConstant": {
                                        "type": "number",
                                        "name": "Maximum Constant",
                                        "description": "The maximum value for the constant b.",
                                        "default": 20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "minSolution": {
                                        "type": "number",
                                        "name": "Minimum Solution",
                                        "description": "The minimum value for the solution c.",
                                        "default": -20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "maxSolution": {
                                        "type": "number",
                                        "name": "Maximum Solution",
                                        "description": "The maximum value for the solution c.",
                                        "default": 20,
                                        "min": -10000,
                                        "max": 10000
                                    }
                                }
                            },
                            "withFractions": {
                                "name": "With Fractions",
                                "description": "Problems involving linear equations with fractions (ax/b = c).",
                                "parameters": {
                                    "minCoefficient": {
                                        "type": "number",
                                        "name": "Minimum Coefficient",
                                        "description": "The minimum value for the coefficient a.",
                                        "default": -20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "maxCoefficient": {
                                        "type": "number",
                                        "name": "Maximum Coefficient",
                                        "description": "The maximum value for the coefficient a.",
                                        "default": 20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "minDenominator": {
                                        "type": "number",
                                        "name": "Minimum Denominator",
                                        "description": "The minimum value for the denominator(b) of the fraction.",
                                        "default": 2,
                                        "min": 2,
                                        "max": 10000
                                    },
                                    "maxDenominator": {
                                        "type": "number",
                                        "name": "Maximum Denominator",
                                        "description": "The maximum value for the denominator(b) of the fraction.",
                                        "default": 10,
                                        "min": 2,
                                        "max": 10000
                                    },
                                    "minSolution": {
                                        "type": "number",
                                        "name": "Minimum Solution",
                                        "description": "The minimum value for the solution c.",
                                        "default": -20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "maxSolution": {
                                        "type": "number",
                                        "name": "Maximum Solution",
                                        "description": "The maximum value for the solution c.",
                                        "default": 20,
                                        "min": -10000,
                                        "max": 10000
                                    }
                                }
                            },
                            "withParentheses": {
                                "name": "With Parentheses",
                                "description": "Problems involving linear equations with parentheses (a(x + b) = c).",
                                "parameters": {
                                    "minCoefficient": {
                                        "type": "number",
                                        "name": "Minimum Coefficient",
                                        "description": "The minimum value for the coefficient a.",
                                        "default": -20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "maxCoefficient": {
                                        "type": "number",
                                        "name": "Maximum Coefficient",
                                        "description": "The maximum value for the coefficient a.",
                                        "default": 20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "minConstant": {
                                        "type": "number",
                                        "name": "Minimum Constant",
                                        "description": "The minimum value for the constant b.",
                                        "default": -20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "maxConstant": {
                                        "type": "number",
                                        "name": "Maximum Constant",
                                        "description": "The maximum value for the constant b.",
                                        "default": 20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "minSolution": {
                                        "type": "number",
                                        "name": "Minimum Solution",
                                        "description": "The minimum value for the solution c.",
                                        "default": -20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "maxSolution": {
                                        "type": "number",
                                        "name": "Maximum Solution",
                                        "description": "The maximum value for the solution c.",
                                        "default": 20,
                                        "min": -10000,
                                        "max": 10000
                                    }
                                }
                            },
                            "withAbsoluteValue": {
                                "name": "With Absolute Value",
                                "description": "Problems involving linear equations with absolute value (|ax + b| = c).",
                                "parameters": {
                                    "minCoefficient": {
                                        "type": "number",
                                        "name": "Minimum Coefficient",
                                        "description": "The minimum value for the coefficient a.",
                                        "default": -20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "maxCoefficient": {
                                        "type": "number",
                                        "name": "Maximum Coefficient",
                                        "description": "The maximum value for the coefficient a.",
                                        "default": 20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "minConstant": {
                                        "type": "number",
                                        "name": "Minimum Constant",
                                        "description": "The minimum value for the constant b.",
                                        "default": -20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "maxConstant": {
                                        "type": "number",
                                        "name": "Maximum Constant",
                                        "description": "The maximum value for the constant b.",
                                        "default": 20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "minSolution": {
                                        "type": "number",
                                        "name": "Minimum Solution",
                                        "description": "The minimum value for the solution c.",
                                        "default": 1,
                                        "min": 1,
                                        "max": 10000
                                    },
                                    "maxSolution": {
                                        "type": "number",
                                        "name": "Maximum Solution",
                                        "description": "The maximum value for the solution c.",
                                        "default": 20,
                                        "min": 1,
                                        "max": 10000
                                    }
                                }
                            },
                            "slopeInterceptForm": {
                                "name": "Slope-Intercept Form",
                                "description": "Problems involving linear equations in slope-intercept form (y = mx + b), solving for slope and y-intercept.",
                                "parameters": {
                                    "isMCQ": {
                                        "type": "boolean",
                                        "name": "Multiple Choice",
                                        "description": "Whether the problem is multiple choice.",
                                        "default": true
                                    },
                                    "isSimplified": {
                                        "type": "boolean",
                                        "name": "Simplified",
                                        "description": "Whether the problem is simplified.",
                                        "default": false
                                    },
                                    "minSlope": {
                                        "type": "number",
                                        "name": "Minimum Slope",
                                        "description": "The minimum value for the slope m.",
                                        "default": -20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "maxSlope": {
                                        "type": "number",
                                        "name": "Maximum Slope",
                                        "description": "The maximum value for the slope m.",
                                        "default": 20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "minYIntercept": {
                                        "type": "number",
                                        "name": "Minimum Y-Intercept",
                                        "description": "The minimum value for the y-intercept b.",
                                        "default": -20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "maxYIntercept": {
                                        "type": "number",
                                        "name": "Maximum Y-Intercept",
                                        "description": "The maximum value for the y-intercept b.",
                                        "default": 20,
                                        "min": -10000,
                                        "max": 10000
                                    }
                                }
                            },
                            "pointSlopeForm": {
                                "name": "Point-Slope Form",
                                "description": "Problems involving linear equations in point-slope form (y - y1 = m(x - x1)), solving for slope and (x1, y1).",
                                "parameters": {
                                    "isMCQ": {
                                        "type": "boolean",
                                        "name": "Multiple Choice",
                                        "description": "Whether the problem is multiple choice.",
                                        "default": true
                                    },
                                    "isSimplified": {
                                        "type": "boolean",
                                        "name": "Simplified",
                                        "description": "Whether the problem is simplified.",
                                        "default": false
                                    },
                                    "minSlope": {
                                        "type": "number",
                                        "name": "Minimum Slope",
                                        "description": "The minimum value for the slope m.",
                                        "default": -20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "maxSlope": {
                                        "type": "number",
                                        "name": "Maximum Slope",
                                        "description": "The maximum value for the slope m.",
                                        "default": 20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "minPoint": {
                                        "type": "number",
                                        "name": "Minimum Point",
                                        "description": "The minimum value for the point (x1, y1).",
                                        "default": -20,
                                        "min": -10000,
                                        "max": 10000
                                    },
                                    "maxPoint": {
                                        "type": "number",
                                        "name": "Maximum Point",
                                        "description": "The maximum value for the point (x1, y1).",
                                        "default": 20,
                                        "min": -10000,
                                        "max": 10000
                                    }
                                }
                            },
                            "graphingLinearEquations": {
                                "name": "Graphing Linear Equations",
                                "description": "Problems involving graphing linear equations. Given a linear equation, graph the line.",
                                "parameters": {
                                    "includeStandard": {
                                        "type": "boolean",
                                        "name": "Include Standard Form",
                                        "description": "Whether to include the standard form option.",
                                        "default": true
                                    },
                                    "includeSlopeIntercept": {
                                        "type": "boolean",
                                        "name": "Include Slope-Intercept Form",
                                        "description": "Whether to include the slope-intercept form option.",
                                        "default": true
                                    },
                                    "includePointSlope": {
                                        "type": "boolean",
                                        "name": "Include Point-Slope Form",
                                        "description": "Whether to include the point-slope form option.",
                                        "default": true
                                    }
                                }
                            }
                        }
                    },
                    "complex-numbers": {
                        "name": "Complex Numbers",
                        "description": "Problems involving complex numbers, including arithmetic, roots, and equations.",
                        "topics": {
                            "properties-and-rules": {
                                "name": "Basic Properties and Rules",
                                "description": "Problems involving the basic properties and rules of complex numbers.",
                                "topics": {
                                    "conjugate": {
                                        "name": "Complex Conjugate",
                                        "description": "Problems involving the concept of complex conjugates. Example: The conjugate of (a + bi) is (a - bi).",
                                        "parameters": {
                                            "minReal": {
                                                "type": "number",
                                                "name": "Minimum Real Part",
                                                "description": "The minimum value for the real part a.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxReal": {
                                                "type": "number",
                                                "name": "Maximum Real Part",
                                                "description": "The maximum value for the real part a.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "minImaginary": {
                                                "type": "number",
                                                "name": "Minimum Imaginary Part",
                                                "description": "The minimum value for the imaginary part b.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxImaginary": {
                                                "type": "number",
                                                "name": "Maximum Imaginary Part",
                                                "description": "The maximum value for the imaginary part b.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            }
                                        }
                                    },
                                    "modulus": {
                                        "name": "Modulus",
                                        "description": "Problems involving the modulus (absolute value) of complex numbers. Example: |3 + 4i| = √(3² + 4²) = 5.",
                                        "parameters": {
                                            "minReal": {
                                                "type": "number",
                                                "name": "Minimum Real Part",
                                                "description": "The minimum value for the real part a.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxReal": {
                                                "type": "number",
                                                "name": "Maximum Real Part",
                                                "description": "The maximum value for the real part a.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "minImaginary": {
                                                "type": "number",
                                                "name": "Minimum Imaginary Part",
                                                "description": "The minimum value for the imaginary part b.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxImaginary": {
                                                "type": "number",
                                                "name": "Maximum Imaginary Part",
                                                "description": "The maximum value for the imaginary part b.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            }
                                        }
                                    },
                                    "equatingComplexNumbers": {
                                        "name": "Equating Complex Numbers",
                                        "description": "Problems involving the equality of two complex numbers, which requires equating their real and imaginary parts separately. Example: If a + bi = c + di, then a = c and b = d.",
                                        "parameters": {
                                            "isMCQ": {
                                                "type": "boolean",
                                                "name": "Multiple Choice",
                                                "description": "Whether the problem is multiple choice.",
                                                "default": true
                                            },
                                            "minReal": {
                                                "type": "number",
                                                "name": "Minimum Real Part",
                                                "description": "The minimum value for the real part a.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxReal": {
                                                "type": "number",
                                                "name": "Maximum Real Part",
                                                "description": "The maximum value for the real part a.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "minImaginary": {
                                                "type": "number",
                                                "name": "Minimum Imaginary Part",
                                                "description": "The minimum value for the imaginary part b.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxImaginary": {
                                                "type": "number",
                                                "name": "Maximum Imaginary Part",
                                                "description": "The maximum value for the imaginary part b.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            }
                                        }
                                    },
                                    "realImaginaryPart": {
                                        "name": "Real and Imaginary Parts",
                                        "description": "Problems involving the identification and manipulation of the real and imaginary parts of complex numbers. Example: In 3 + 4i, the real part is 3, and the imaginary part is 4.",
                                        "parameters": {
                                            "isMCQ": {
                                                "type": "boolean",
                                                "name": "Multiple Choice",
                                                "description": "Whether the problem is multiple choice.",
                                                "default": true
                                            },
                                            "minReal": {
                                                "type": "number",
                                                "name": "Minimum Real Part",
                                                "description": "The minimum value for the real part a.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxReal": {
                                                "type": "number",
                                                "name": "Maximum Real Part",
                                                "description": "The maximum value for the real part a.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "minImaginary": {
                                                "type": "number",
                                                "name": "Minimum Imaginary Part",
                                                "description": "The minimum value for the imaginary part b.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxImaginary": {
                                                "type": "number",
                                                "name": "Maximum Imaginary Part",
                                                "description": "The maximum value for the imaginary part b.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            }
                                        }
                                    },
                                    "solvingComplexEquations": {
                                        "name": "Solving Complex Equations",
                                        "description": "Problems that involve solving for an unknown complex number, typically using basic algebraic techniques. Example: Solve for z in z + (3 - 2i) = 5 + i.",
                                        "parameters": {
                                            "isMCQ": {
                                                "type": "boolean",
                                                "name": "Multiple Choice",
                                                "description": "Whether the problem is multiple choice.",
                                                "default": true
                                            },
                                            "minReal": {
                                                "type": "number",
                                                "name": "Minimum Real Part",
                                                "description": "The minimum value for the real part a.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxReal": {
                                                "type": "number",
                                                "name": "Maximum Real Part",
                                                "description": "The maximum value for the real part a.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "minImaginary": {
                                                "type": "number",
                                                "name": "Minimum Imaginary Part",
                                                "description": "The minimum value for the imaginary part b.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxImaginary": {
                                                "type": "number",
                                                "name": "Maximum Imaginary Part",
                                                "description": "The maximum value for the imaginary part b.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            }
                                        }
                                    }
                                }
                            },
                            "addition-subtraction": {
                                "name": "Addition and Subtraction",
                                "description": "Basic operations with complex numbers, including addition, subtraction, multiplication, and division.",
                                "topics": {
                                    "basicAdditionSubtraction": {
                                        "name": "Basic Addition and Subtraction",
                                        "description": "Problems involving basic addition and subtraction of complex numbers. Example: (3 + 2i) - (1 - i)",
                                        "parameters": {
                                            "isMCQ": {
                                                "type": "boolean",
                                                "name": "Multiple Choice",
                                                "description": "Whether the problem is multiple choice.",
                                                "default": true
                                            },
                                            "minReal": {
                                                "type": "number",
                                                "name": "Minimum Real Part",
                                                "description": "The minimum value for the real part a.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxReal": {
                                                "type": "number",
                                                "name": "Maximum Real Part",
                                                "description": "The maximum value for the real part a.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "minImaginary": {
                                                "type": "number",
                                                "name": "Minimum Imaginary Part",
                                                "description": "The minimum value for the imaginary part b.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxImaginary": {
                                                "type": "number",
                                                "name": "Maximum Imaginary Part",
                                                "description": "The maximum value for the imaginary part b.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            }
                                        }
                                    },
                                    "multipleComplexNumbers": {
                                        "name": "Multiple Complex Numbers",
                                        "description": "Addition and subtraction of multiple complex numbers in a single problem. Example: (2 + i) + (3 - 2i) - (1 + 4i)",
                                        "parameters": {
                                            "isMCQ": {
                                                "type": "boolean",
                                                "name": "Multiple Choice",
                                                "description": "Whether the problem is multiple choice.",
                                                "default": true
                                            },
                                            "minReal": {
                                                "type": "number",
                                                "name": "Minimum Real Part",
                                                "description": "The minimum value for the real part a.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxReal": {
                                                "type": "number",
                                                "name": "Maximum Real Part",
                                                "description": "The maximum value for the real part a.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "minImaginary": {
                                                "type": "number",
                                                "name": "Minimum Imaginary Part",
                                                "description": "The minimum value for the imaginary part b.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxImaginary": {
                                                "type": "number",
                                                "name": "Maximum Imaginary Part",
                                                "description": "The maximum value for the imaginary part b.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "numComplexNumbers": {
                                                "type": "number",
                                                "name": "Number of Complex Numbers",
                                                "description": "The number of complex numbers to include.",
                                                "default": 3,
                                                "min": 2,
                                                "max": 5
                                            }
                                        }
                                    },
                                    "constantWithComplexNumber": {
                                        "name": "Constant with Complex Number",
                                        "description": "Problems involving the addition or subtraction of real constants and complex numbers. Example: 5 + (3 + 2i)",
                                        "parameters": {
                                            "isMCQ": {
                                                "type": "boolean",
                                                "name": "Multiple Choice",
                                                "description": "Whether the problem is multiple choice.",
                                                "default": true
                                            },
                                            "minReal": {
                                                "type": "number",
                                                "name": "Minimum Real Part",
                                                "description": "The minimum value for the real part a.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxReal": {
                                                "type": "number",
                                                "name": "Maximum Real Part",
                                                "description": "The maximum value for the real part a.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "minImaginary": {
                                                "type": "number",
                                                "name": "Minimum Imaginary Part",
                                                "description": "The minimum value for the imaginary part b.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxImaginary": {
                                                "type": "number",
                                                "name": "Maximum Imaginary Part",
                                                "description": "The maximum value for the imaginary part b.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "constant": {
                                                "type": "number",
                                                "name": "Real Constant",
                                                "description": "The real constant to be added or subtracted.",
                                                "default": null,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "allowAddition": {
                                                "type": "boolean",
                                                "name": "Allow Addition",
                                                "description": "Whether to allow addition.",
                                                "default": true
                                            },
                                            "allowSubtraction": {
                                                "type": "boolean",
                                                "name": "Allow Subtraction",
                                                "description": "Whether to allow subtraction.",
                                                "default": true
                                            }
                                        }
                                    },
                                    "modulusAdditionSubtraction": {
                                        "name": "Modulus Addition and Subtraction",
                                        "description": "Problems involving the modulus (absolute value) of complex numbers in addition and subtraction. Example: |3 + 4i| + |1 - i|",
                                        "parameters": {
                                            "isMCQ": {
                                                "type": "boolean",
                                                "name": "Multiple Choice",
                                                "description": "Whether the problem is multiple choice.",
                                                "default": true
                                            },
                                            "minReal": {
                                                "type": "number",
                                                "name": "Minimum Real Part",
                                                "description": "The minimum value for the real part a.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxReal": {
                                                "type": "number",
                                                "name": "Maximum Real Part",
                                                "description": "The maximum value for the real part a.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "minImaginary": {
                                                "type": "number",
                                                "name": "Minimum Imaginary Part",
                                                "description": "The minimum value for the imaginary part b.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxImaginary": {
                                                "type": "number",
                                                "name": "Maximum Imaginary Part",
                                                "description": "The maximum value for the imaginary part b.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            }
                                        }
                                    }
                                }
                            },
                            "multiplication": {
                                "name": "Multiplication",
                                "description": "Problems involving the multiplication of complex numbers.",
                                "topics": {
                                    "basicMultiplication": {
                                        "name": "Basic Multiplication",
                                        "description": "Basic problems involving the multiplication of complex numbers. Example: (2 + i) * (1 - i)",
                                        "parameters": {
                                            "isMCQ": {
                                                "type": "boolean",
                                                "name": "Multiple Choice",
                                                "description": "Whether the problem is multiple choice.",
                                                "default": true
                                            },
                                            "minReal": {
                                                "type": "number",
                                                "name": "Minimum Real Part",
                                                "description": "The minimum value for the real part a.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxReal": {
                                                "type": "number",
                                                "name": "Maximum Real Part",
                                                "description": "The maximum value for the real part a.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "minImaginary": {
                                                "type": "number",
                                                "name": "Minimum Imaginary Part",
                                                "description": "The minimum value for the imaginary part b.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxImaginary": {
                                                "type": "number",
                                                "name": "Maximum Imaginary Part",
                                                "description": "The maximum value for the imaginary part b.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            }
                                        }
                                    },
                                    "multipleComplexNumbers": {
                                        "name": "Multiple Complex Numbers Multiplication",
                                        "description": "Multiplication of several complex numbers. Example: (1 + i) * (3 - i) * (2 + 4i)",
                                        "parameters": {
                                            "isMCQ": {
                                                "type": "boolean",
                                                "name": "Multiple Choice",
                                                "description": "Whether the problem is multiple choice.",
                                                "default": true
                                            },
                                            "minReal": {
                                                "type": "number",
                                                "name": "Minimum Real Part",
                                                "description": "The minimum value for the real part a.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxReal": {
                                                "type": "number",
                                                "name": "Maximum Real Part",
                                                "description": "The maximum value for the real part a.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "minImaginary": {
                                                "type": "number",
                                                "name": "Minimum Imaginary Part",
                                                "description": "The minimum value for the imaginary part b.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxImaginary": {
                                                "type": "number",
                                                "name": "Maximum Imaginary Part",
                                                "description": "The maximum value for the imaginary part b.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "numComplexNumbers": {
                                                "type": "number",
                                                "name": "Number of Complex Numbers",
                                                "description": "The number of complex numbers to include.",
                                                "default": 3,
                                                "min": 2,
                                                "max": 5
                                            }
                                        }
                                    },
                                    "constantTimesComplexNumber": {
                                        "name": "Constant Times Complex Numbers",
                                        "description": "Multiplication of a real constant with a complex number. Example: 4 * (3 + 2i)",
                                        "parameters": {
                                            "isMCQ": {
                                                "type": "boolean",
                                                "name": "Multiple Choice",
                                                "description": "Whether the problem is multiple choice.",
                                                "default": true
                                            },
                                            "minConstant": {
                                                "type": "number",
                                                "name": "Minimum Real Constant",
                                                "description": "The minimum value for the real constant.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxConstant": {
                                                "type": "number",
                                                "name": "Maximum Real Constant",
                                                "description": "The maximum value for the real constant.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "minReal": {
                                                "type": "number",
                                                "name": "Minimum Real Part",
                                                "description": "The minimum value for the real part a.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxReal": {
                                                "type": "number",
                                                "name": "Maximum Real Part",
                                                "description": "The maximum value for the real part a.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "minImaginary": {
                                                "type": "number",
                                                "name": "Minimum Imaginary Part",
                                                "description": "The minimum value for the imaginary part b.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxImaginary": {
                                                "type": "number",
                                                "name": "Maximum Imaginary Part",
                                                "description": "The maximum value for the imaginary part b.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            }
                                        }
                                    },
                                    "powersOfComplexNumbers": {
                                        "name": "Powers of Complex Numbers",
                                        "description": "Problems involving powers of complex numbers, such as squares or higher powers. Example: (1 + i)^2",
                                        "parameters": {
                                            "isMCQ": {
                                                "type": "boolean",
                                                "name": "Multiple Choice",
                                                "description": "Whether the problem is multiple choice.",
                                                "default": true
                                            },
                                            "minReal": {
                                                "type": "number",
                                                "name": "Minimum Real Part",
                                                "description": "The minimum value for the real part a.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxReal": {
                                                "type": "number",
                                                "name": "Maximum Real Part",
                                                "description": "The maximum value for the real part a.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "minImaginary": {
                                                "type": "number",
                                                "name": "Minimum Imaginary Part",
                                                "description": "The minimum value for the imaginary part b.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxImaginary": {
                                                "type": "number",
                                                "name": "Maximum Imaginary Part",
                                                "description": "The maximum value for the imaginary part b.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "power": {
                                                "type": "number",
                                                "name": "Power",
                                                "description": "The power to raise the complex number.",
                                                "default": 2,
                                                "min": 2,
                                                "max": 5
                                            }
                                        }
                                    }
                                }
                            },
                            "roots-radicals": {
                                "name": "Roots and Radicals",
                                "description": "Problems involving the roots and radicals of complex numbers.",
                                "topics": {
                                    "basicSquareRoot": {
                                        "name": "Basic Square Roots of Complex Numbers",
                                        "description": "Problems involving the square root of negative numbers or complex numbers. Example: √(-9)",
                                        "parameters": {
                                            "isMCQ": {
                                                "type": "boolean",
                                                "name": "Multiple Choice",
                                                "description": "Whether the problem is multiple choice.",
                                                "default": true
                                            },
                                            "minReal": {
                                                "type": "number",
                                                "name": "Minimum Real Part",
                                                "description": "The minimum value for the real part a.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxReal": {
                                                "type": "number",
                                                "name": "Maximum Real Part",
                                                "description": "The maximum value for the real part a.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "minImaginary": {
                                                "type": "number",
                                                "name": "Minimum Imaginary Part",
                                                "description": "The minimum value for the imaginary part b.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxImaginary": {
                                                "type": "number",
                                                "name": "Maximum Imaginary Part",
                                                "description": "The maximum value for the imaginary part b.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "decimalPlaces": {
                                                "type": "number",
                                                "name": "Decimal Places",
                                                "description": "The number of decimal places to round the answer to.",
                                                "default": 2,
                                                "min": 0,
                                                "max": 10
                                            }
                                        }
                                    }
                                }
                            },
                            "division": {
                                "name": "Division",
                                "description": "Problems involving the division of complex numbers.",
                                "topics": {
                                    "rationalizing": {
                                        "name": "Rationalizing Complex Numbers",
                                        "description": "Problems involving the division of complex numbers that require rationalization of the denominator. Example: 1/(3 + 4i)",
                                        "parameters": {
                                            "isMCQ": {
                                                "type": "boolean",
                                                "name": "Multiple Choice",
                                                "description": "Whether the problem is multiple choice.",
                                                "default": true
                                            },
                                            "minReal": {
                                                "type": "number",
                                                "name": "Minimum Real Part",
                                                "description": "The minimum value for the real part of the denominator.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxReal": {
                                                "type": "number",
                                                "name": "Maximum Real Part",
                                                "description": "The maximum value for the real part of the denominator.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "minImaginary": {
                                                "type": "number",
                                                "name": "Minimum Imaginary Part",
                                                "description": "The minimum value for the imaginary part of the denominator.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxImaginary": {
                                                "type": "number",
                                                "name": "Maximum Imaginary Part",
                                                "description": "The maximum value for the imaginary part of the denominator.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            }
                                        }
                                    },
                                    "complexDivision": {
                                        "name": "Complex Division",
                                        "description": "Division of one complex number by another complex number. Example: (2 + 3i) / (1 - i)",
                                        "parameters": {
                                            "isMCQ": {
                                                "type": "boolean",
                                                "name": "Multiple Choice",
                                                "description": "Whether the problem is multiple choice.",
                                                "default": true
                                            },
                                            "minReal": {
                                                "type": "number",
                                                "name": "Minimum Real Part (Numerator)",
                                                "description": "The minimum value for the real part of the numerator.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxReal": {
                                                "type": "number",
                                                "name": "Maximum Real Part (Numerator)",
                                                "description": "The maximum value for the real part of the numerator.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "minImaginary": {
                                                "type": "number",
                                                "name": "Minimum Imaginary Part (Numerator)",
                                                "description": "The minimum value for the imaginary part of the numerator.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxImaginary": {
                                                "type": "number",
                                                "name": "Maximum Imaginary Part (Numerator)",
                                                "description": "The maximum value for the imaginary part of the numerator.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "minDenomReal": {
                                                "type": "number",
                                                "name": "Minimum Real Part (Denominator)",
                                                "description": "The minimum value for the real part of the denominator.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxDenomReal": {
                                                "type": "number",
                                                "name": "Maximum Real Part (Denominator)",
                                                "description": "The maximum value for the real part of the denominator.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "minDenomImaginary": {
                                                "type": "number",
                                                "name": "Minimum Imaginary Part (Denominator)",
                                                "description": "The minimum value for the imaginary part of the denominator.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxDenomImaginary": {
                                                "type": "number",
                                                "name": "Maximum Imaginary Part (Denominator)",
                                                "description": "The maximum value for the imaginary part of the denominator.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            }
                                        }
                                    },
                                    "constantDividedByComplex": {
                                        "name": "Constant Divided by Complex Numbers",
                                        "description": "Problems where a constant is divided by a complex number. Example: 5 / (2 - i)",
                                        "parameters": {
                                            "isMCQ": {
                                                "type": "boolean",
                                                "name": "Multiple Choice",
                                                "description": "Whether the problem is multiple choice.",
                                                "default": true
                                            },
                                            "minConstant": {
                                                "type": "number",
                                                "name": "Minimum Constant",
                                                "description": "The minimum value for the constant.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxConstant": {
                                                "type": "number",
                                                "name": "Maximum Constant",
                                                "description": "The maximum value for the constant.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "minDenomReal": {
                                                "type": "number",
                                                "name": "Minimum Real Part (Denominator)",
                                                "description": "The minimum value for the real part of the denominator.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxDenomReal": {
                                                "type": "number",
                                                "name": "Maximum Real Part (Denominator)",
                                                "description": "The maximum value for the real part of the denominator.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "minDenomImaginary": {
                                                "type": "number",
                                                "name": "Minimum Imaginary Part (Denominator)",
                                                "description": "The minimum value for the imaginary part of the denominator.",
                                                "default": -20,
                                                "min": -10000,
                                                "max": 10000
                                            },
                                            "maxDenomImaginary": {
                                                "type": "number",
                                                "name": "Maximum Imaginary Part (Denominator)",
                                                "description": "The maximum value for the imaginary part of the denominator.",
                                                "default": 20,
                                                "min": -10000,
                                                "max": 10000
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}