#ATarc159f. [ARC159F] Good Division

[ARC159F] Good Division

题目描述

当数列 XX 满足以下条件时,称 XX良好数列

  • 可以通过重复以下操作 00 次或多次,将 XX 变为空序列:
    • 选择 XX 中相邻的两个元素 xi,xi+1x_i, x_{i+1},且 xixi+1x_i \neq x_{i+1},将它们删除。

给定一个包含 2N2N 个元素的数列 A=(a1,,a2N)A=(a_1,\ldots,a_{2N})
AA 分割为 11 个或多个连续子序列的方法共有 22N12^{2N-1} 种。请计算其中每个连续子序列都是良好数列的分割方法数,并对 998244353998244353 取模。

输入格式

输入以如下格式从标准输入给出。

NN a1a_1 a2a_2 \ldots a2Na_{2N}

输出格式

输出答案。

样例 1

输入

3
1 1 2 3 4 5

输出

2

样例 2

输入

1
1 2

输出

1

样例 3

输入

1
1 1

输出

0

样例 4

输入

12
4 2 17 12 18 15 17 4 22 6 9 20 21 16 23 16 13 2 20 15 16 3 7 15

输出

2048

说明/提示

限制条件

  • 1N5×1051 \leq N \leq 5 \times 10^5
  • 1ai2N1 \leq a_i \leq 2N
  • 输入均为整数

样例解释 1

有以下 22 种满足条件的分割方法:

  • (1,1,2,3,4,5)(1,1,2,3,4,5)
  • (1,1,2,3),(4,5)(1,1,2,3),(4,5)

由 ChatGPT 4.1 翻译