#954. 破灭

破灭

题目描述

世界濒临破灭。Gleipse 正带领着nn个魔法师试图拯救世界。

Gleipse 将nn个魔法师排成一排。每个魔法师手上有两块水晶,每块水晶要么是红色的,要么是蓝色的。我们将第ii个魔法师手上的两块水晶记作aia_i ,其意义为:

  • ai=0a_i = 0 :两块水晶都是红色的;

  • ai=1a_i = 1 :两块水晶,一块是红色的,一块是蓝色的;

  • ai=2a_i = 2 :两块水晶都是蓝色的。

现在 Gleipse 要收集所有人的水晶排成一行。他命令所有魔法师进行如下操作共2n2n次:

  • 所有有水晶的魔法师同时选择自己手中的一块水晶,交给前面的一个魔法师。例如魔法师ii将水晶交给魔法师i1i - 1 。特殊的,魔法师11将水晶交给 Gleipse。

  • Gleipse 将收到的水晶放在收集的水晶的队列末尾。

最终 Gleipse 将得到一个长度为2n2n的水晶队列。

因为2n2n块水晶足以阻止世界的破灭,所以 Gleipse 好奇所有可能出现的不同的水晶队列的数量。由于数量可能太多,所以 Gleipse 只要求答案对998244353998244353取模的值。

输入格式

第一行一个整数nn ,表示魔法师的数量。 第二行共nn个整数,表示a1,a2,,ana_1,a_2,\cdots,a_n

输出格式

一行一个整数,表示答案对998244353998244353取模的值。

数据范围

  • 对于30%30\%的数据,1n6 1 \leq n \leq 6
  • 对于60%60\%的数据,1n200 1 \leq n \leq 200
  • 对于100%100\%的数据,1n2×103 1 \leq n \leq 2 \times 10^3 0ai2 0 \leq a_i \leq 2

样例数据

输入

4
1 2 1 0

输出

55