#arc159f. [arc159_f]Good Division

[arc159_f]Good Division

题目描述

一个序列XX被称为好的,当满足以下条件时:

  • XX可以通过零次或多次重复执行以下操作将其清空。
    • 删除XX中两个相邻元素xix_ixi+1x_{i+1},使得xixi+1x_i \neq x_{i+1}

给定一个含有2N2N个元素的序列:A=(a1,,a2N)A=(a_1,\ldots,a_{2N})
在将AA分割成一个或多个连续子序列的22N12^{2N-1}种方式中,有多少种方式使得所有这些连续子序列都是好的?以模998244353998244353的结果返回计数。

约束条件

  • 1N5×1051 \leq N \leq 5 \times 10^5
  • 1ai2N1 \leq a_i \leq 2N
  • 输入中的所有值都是整数。

输入

输入以以下格式从标准输入读取:

NN a1a_1 \ldots a2Na_{2N}

输出

输出答案。


示例输入 1

3
1 1 2 3 4 5

示例输出 1

2

以下两种分割满足条件。

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

示例输入 2

1
1 2

示例输出 2

1

示例输入 3

1
1 1

示例输出 3

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

示例输出 4

2048