#arc146e. [arc146_e]Simple Speed

[arc146_e]Simple Speed

题目描述

给定一个由NN个正整数组成的序列:A=(A1,A2,,AN)A=(A_1,A_2,\dots,A_N)

有多少个整数序列BB满足以下所有条件?请以模998244353998244353的形式输出结果。

  • 对于每个整数ii,满足1iN1 \le i \le N,在BB中恰好有AiA_iii
  • 对于每个整数ii,满足1iB11 \le i \le |B|-1BiBi+1=1|B_i - B_{i+1}|=1成立。

约束条件

  • 1N2×1051 \le N \le 2 \times 10^5
  • 1Ai2×1051 \le A_i \le 2 \times 10^5
  • 输入中的所有值均为整数。

输入

输入数据从标准输入读取,输入格式如下:

NN A1A_1 A2A_2 \dots ANA_N

输出

输出答案。


示例输入1

3
2 3 1

示例输出1

6

BB可以是以下六个序列。

  • (1,2,1,2,3,2)(1,2,1,2,3,2)
  • (1,2,3,2,1,2)(1,2,3,2,1,2)
  • (2,1,2,1,2,3)(2,1,2,1,2,3)
  • (2,1,2,3,2,1)(2,1,2,3,2,1)
  • (2,3,2,1,2,1)(2,3,2,1,2,1)
  • (3,2,1,2,1,2)(3,2,1,2,1,2)

因此,答案是66


示例输入2

1
200000

示例输出2

0

可能没有满足条件的序列。


示例输入3

6
12100 31602 41387 41498 31863 12250

示例输出3

750337372