有一群朋友围成一个圆圈坐着。每个朋友手里都拿着一张写有正整数的卡片。
你需要将这个圆圈里的朋友分成一个或多个组。每一组必须是圆圈中连续的一段。此外,对于每一组,该组所有成员卡片上的数值进行按位与(bitwise AND)运算的结果必须是非零的。
请计算将这些朋友分成若干组的方法总数。
输入格式
第一行包含一个整数 $n$ ($1 \le n \le 2 \cdot 10^5$),表示圆圈中朋友的数量。
接下来的 $n$ 行,每行包含一个整数 $a$ ($1 \le a < 2^{60}$)。这些整数按朋友坐的顺序给出了他们手中卡片上的数值。注意,由于他们围成一个圆圈,列表中的最后一名朋友与列表中的第一名朋友相邻。
输出格式
输出一个整数,表示将朋友分成若干组的方法总数。由于该数字可能非常大,请输出其对 $998,244,353$ 取模的结果。
样例
输入 1
4 14 13 11 7
输出 1
11