编程题
### 问题描述
辉神有一个元素为向量的序列 $S$,下标从 $1$ 开始,初始时为空,现在你需要支持三个操作:
1.在 $S$ 的末尾添加一个元素 $(x, y)$。
2.删除 $S$ 的末尾元素。
3.询问下标在 $[l,r]$ 区间内的元素中,$(x,y) \times S_i$的最大值。
其中 $\times$ 表示向量的叉积,$(x_1,y_1) \times (x_2,y_2) = x_1y_2-x_2y_1$。
### 输入格式
第一行一个整数 $m$ 表示操作数。
接下来 $m$ 行,每行有三种格式:
- $1$ $x$ $y$:在的末尾添加一个元素 $(x,y)$。保证 $-10^9 \leq x \leq 10^9$,$1 \leq y \leq 10^9$。
- $2$:删除的末尾元素。
- $3$ $l$ $r$ $x$ $y$:询问下标在区间 $[l,r]$ 内的元素中,$(x,y) \times S_i$的最大值。保证 $1 \leq x \leq 10^9$,$-10^9 \leq y \leq 10^9$。
### 输出格式
为避免过多输出,要将所有询问答案对 $998244353$ 取模,并输出取模后答案的异或和。
### 样例输入
```
6
1 -5 10
3 1 1 7 -9
2
1 2 6
1 -3 5
3 1 2 10 -7
```
### 样例输出
```
83
```
### 评测数据规模
$1 \leq m \leq 10^5$。