{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.calculatorx.com/schemas/math.sequences/1.0.3/input.json",
  "title": "Integer sequences — input",
  "oneOf": [
    {
      "type": "object",
      "properties": {
        "n": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "nInput": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "a": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "first": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "a1": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "aInput": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "d": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "difference": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "common_difference": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "dInput": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "mode": {
          "type": "string",
          "pattern": "^\\s*(?:[aA][rR][iI][tT][hH][mM][eE][tT][iI][cC]|[aA][rR][iI][tT][hH]|[aA][pP]|[aA][rR][iI][tT][hH][mM][eE][tT][iI][cC][_\\s-]+[sS][eE][qQ][uU][eE][nN][cC][eE])\\s*$"
        }
      },
      "allOf": [
        {
          "anyOf": [
            {
              "required": [
                "n"
              ]
            },
            {
              "required": [
                "nInput"
              ]
            }
          ]
        },
        {
          "anyOf": [
            {
              "required": [
                "a"
              ]
            },
            {
              "required": [
                "first"
              ]
            },
            {
              "required": [
                "a1"
              ]
            },
            {
              "required": [
                "aInput"
              ]
            }
          ]
        },
        {
          "anyOf": [
            {
              "required": [
                "d"
              ]
            },
            {
              "required": [
                "difference"
              ]
            },
            {
              "required": [
                "common_difference"
              ]
            },
            {
              "required": [
                "dInput"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "n": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "nInput": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "a": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "first": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "a1": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "aInput": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "r": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "ratio": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "common_ratio": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "rInput": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "mode": {
          "type": "string",
          "pattern": "^\\s*(?:[gG][eE][oO][mM][eE][tT][rR][iI][cC]|[gG][eE][oO]|[gG][pP]|[gG][eE][oO][mM][eE][tT][rR][iI][cC][_\\s-]+[sS][eE][qQ][uU][eE][nN][cC][eE]|[gG][pP])\\s*$"
        }
      },
      "required": [
        "mode"
      ],
      "allOf": [
        {
          "anyOf": [
            {
              "required": [
                "n"
              ]
            },
            {
              "required": [
                "nInput"
              ]
            }
          ]
        },
        {
          "anyOf": [
            {
              "required": [
                "a"
              ]
            },
            {
              "required": [
                "first"
              ]
            },
            {
              "required": [
                "a1"
              ]
            },
            {
              "required": [
                "aInput"
              ]
            }
          ]
        },
        {
          "anyOf": [
            {
              "required": [
                "r"
              ]
            },
            {
              "required": [
                "ratio"
              ]
            },
            {
              "required": [
                "common_ratio"
              ]
            },
            {
              "required": [
                "rInput"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "n": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "nInput": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "mode": {
          "type": "string",
          "pattern": "^\\s*(?:[fF][iI][bB][oO][nN][aA][cC][cC][iI]|[fF][iI][bB]|[fF][_\\s-]+[nN])\\s*$"
        }
      },
      "required": [
        "mode"
      ],
      "allOf": [
        {
          "anyOf": [
            {
              "required": [
                "n"
              ]
            },
            {
              "required": [
                "nInput"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "n": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "nInput": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "p": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "pInput": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "q": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "qInput": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "a0": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "u0": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "a0Input": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "a1": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "u1": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "a1Input": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 512,
              "pattern": "^\\s*-?\\d+\\s*$"
            }
          ]
        },
        "mode": {
          "type": "string",
          "pattern": "^\\s*(?:[lL][iI][nN][eE][aA][rR][_\\s-]+[rR][eE][cC][uU][rR][rR][eE][nN][cC][eE]|[rR][eE][cC][uU][rR][rR][eE][nN][cC][eE]|[lL][iI][nN][eE][aA][rR]|[lL][uU][cC][aA][sS])\\s*$"
        }
      },
      "required": [
        "mode"
      ],
      "allOf": [
        {
          "anyOf": [
            {
              "required": [
                "n"
              ]
            },
            {
              "required": [
                "nInput"
              ]
            }
          ]
        },
        {
          "anyOf": [
            {
              "required": [
                "p"
              ]
            },
            {
              "required": [
                "pInput"
              ]
            }
          ]
        },
        {
          "anyOf": [
            {
              "required": [
                "q"
              ]
            },
            {
              "required": [
                "qInput"
              ]
            }
          ]
        },
        {
          "anyOf": [
            {
              "required": [
                "a0"
              ]
            },
            {
              "required": [
                "u0"
              ]
            },
            {
              "required": [
                "a0Input"
              ]
            }
          ]
        },
        {
          "anyOf": [
            {
              "required": [
                "a1"
              ]
            },
            {
              "required": [
                "u1"
              ]
            },
            {
              "required": [
                "a1Input"
              ]
            }
          ]
        }
      ],
      "additionalProperties": false
    }
  ],
  "description": "Arithmetic and geometric sequences, Fibonacci (F_0=0), and linear recurrences. Exact BigInt. Discovery pages share this capability. Not Pascal, not partition, not n!. Engine id is sequence — never arithmetic. (calculation_version 1.0.3)"
}
