某天, chenbs 在写位运算时写出了如下 C++ 代码:
(11l<<i)
出题人非常害怕自己也这样写错,于是出了一道位运算题:
给定 n,x,y,z,让你构造 n 个数 $ai\ (1\le i\le n),使得 \mathop{\operatorname{and}}\limits{i=1}^n ai=x,\mathop{\operatorname{or}}\limits{i=1}^n ai=y,\mathop{\operatorname{xor}}\limits{i=1}^n ai=z 且 \prod\limits{i=1}^na_i 最大。其中 \operatorname{and},\operatorname{or},\operatorname{xor}$ 表示位运算中的与、或、异或。
如果存在这样的 $ai,你需要求出 \max\prod\limits{i=1}^na_i 对 998244\red{8}53 取模的值;否则请输出 -1$。