给定一个长度为 $N$ 的数列 $A_1, A_2, \ldots, A_N$。请编写一个程序,执行以下查询:
- $1$ $i$ $j$ $x$ $y$:将 $A_i, A_{i+1}, \ldots, A_j$ 加上一个首项为 $x$、公差为 $y$ 的等差数列($1 \le i \le j \le N$,$-100{,}000 \le x, y \le 100{,}000$)。
- $2$ $i$ $j$:输出满足 $i \le l < r \le j$ 且 $A_l, A_{l+1}, \ldots, A_r$ 构成等差数列的最长连续子数列的长度($1 \le i < j \le N$)。
输入格式
第一行包含一个整数 $N$,表示数列的大小($2 \le N \le 100{,}000$)。
第二行包含 $N$ 个整数 $A_1, A_2, \ldots, A_N$($-100{,}000 \le A_i \le 100{,}000$)。
第三行包含一个整数 $M$,表示查询的个数($1 \le M \le 100{,}000$)。
接下来 $M$ 行,每行描述一个查询。
所有输入均为整数。
输出格式
对于每个 $2$ 号查询,输出一行一个整数表示答案。
样例
输入样例 1
5 1 2 3 4 5 4 2 1 5 1 3 4 1 1 2 1 5 2 3 5
输出样例 1
5 3 2