将选手 1、选手 2、…、选手 N 共 N 人分成两个(可区分的)队伍 A、B,要求同时满足以下所有条件:
- 每个队伍至少包含 1 名选手。
- 每名选手恰好属于队伍 A、B 之一。
- 选手 i 所属队伍的人数在 L_i 人以上、R_i 人以下(含端点)。
求满足条件的方案数,输出该数对 998244353 取模的结果。两个方案不同当且仅当存在某名选手在两个方案中所属的队伍不同。
输入以以下格式从标准输入给出:
N
L_1 R_1
L_2 R_2
⋮
L_N R_N
输出满足条件的方案数对 998244353 取模的结果。
3 1 1 1 2 2 2
2
6 1 5 1 5 2 5 1 3 3 5 2 5
30
样例1说明:
以下两种分队方案满足条件:
- 选手 1:队伍 A,选手 2:队伍 B,选手 3:队伍 B
- 选手 1:队伍 B,选手 2:队伍 A,选手 3:队伍 A
2 对 998244353 取模为 2,输出 2。
#### 数据范围
- 2 ≤ N ≤ 2×10^5
- 1 ≤ L_i ≤ R_i ≤ N-1
- 输入均为整数
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 1 | 32 | 1~8 | N=2~8 |
| 2 | 68 | 12~25 | N=1000~2e5 |