#P16378. [2024年南京集训]奶龙

[2024年南京集训]奶龙

题目描述

小奶龙和天才少年小七正在玩一个游戏。

游戏开始时,小七拥有一个正整数集合 SS,奶龙拥有一个正整数集合 TT

小七和奶龙轮流进行操作,小七先手。轮到一名玩家时,他需要:

  1. 从自己的集合中选择两个不同的数 x,yx,y
  2. 要求 xy|x-y| 不属于对方的集合;
  3. xy|x-y| 加入对方的集合。

无法进行操作的玩家失败。

注意,在游戏过程中,双方的集合会不断变化。选择 x,yx,y 时,既可以选择初始拥有的数,也可以选择后续加入集合的数。

现在给定一个正整数集合 RR

小七的初始集合 SS 可以是 RR 的任意一个子集,奶龙的初始集合 TT 也可以是 RR 的任意一个子集。也就是说,(S,T)(S,T) 一共有

2R×2R2^{|R|}\times 2^{|R|}

种可能。

求其中有多少种初始情况会使小七获胜。

答案对

998244353998244353

取模。

输入格式

第一行包含一个整数 nn,表示集合 RR 的大小。

第二行包含 nn 个整数

a1,a2,,an,a_1,a_2,\ldots,a_n,

表示集合 RR 中的所有元素。

输出格式

输出一行一个整数,表示小七获胜的初始情况数量,对 998244353998244353 取模后的结果。

样例 1

输入

3
1 2 3

输出

15

样例 2

输入

5
6 8 10 17 19

输出

378

样例 3

输入

9
2 3 4 6 7 8 12 16 18

输出

106533

样例解释

对于样例 1,小七获胜的一个必要条件是初始集合 SS 中至少有两个数。

  1. S={1,2}S=\{1,2\} 时,若

    T{,{2},{3},{2,3}},T\in\{\varnothing,\{2\},\{3\},\{2,3\}\},

    小七获胜,共 44 种情况;

  2. S={1,3}S=\{1,3\} 时,若

    T{,{1},{3}},T\in\{\varnothing,\{1\},\{3\}\},

    小七获胜,共 33 种情况;

  3. S={2,3}S=\{2,3\} 时,若

    T{,{3}},T\in\{\varnothing,\{3\}\},

    小七获胜,共 22 种情况;

  4. S={1,2,3}S=\{1,2,3\} 时,若

    $$T\in\{\varnothing,\{1\},\{2\},\{3\},\{1,3\},\{2,3\}\},$$

    小七获胜,共 66 种情况。

因此共有

4+3+2+6=154+3+2+6=15

种初始情况使小七获胜。

数据范围

  • 对于 15%15\% 的数据,ai10a_i\le 10

  • 对于 30%30\% 的数据,n10n\le 10

  • 对于 50%50\% 的数据,ai1000a_i\le 1000

  • 对于 70%70\% 的数据,n1000n\le 1000

  • 对于全部测试数据:

    1n20000,1\le n\le 20000, 1a1<a2<<an20000.1\le a_1<a_2<\cdots<a_n\le 20000.