光棱碎片

题目背景

碎片在少年的世界里四处飘散。 最后被少年收集起,成为一列仿若无意义的字符。

题目描述

少年只剩一个字符串 $S$,它的长度为 $n$,下标以 $1 \dots n$ 编号; 以及一个数组 $a_{1\dots n}$。 少年写出了两个数 $L,R$ 并尝试寻找那些被光芒照耀过的碎片: 对于 $S$ 中两个出现位置不同而本质相同的子串 $(S_{l_1\dots r_1},S_{l_2\dots r_2})$,若 $L \le (a_{r_1} \oplus a_{r_2}) + (r_1 - l_1 + 1) \le R$,则这两个子串之间存在光芒。 其中 $S_{l\dots r}$ 表示 $S$ 的下标在 $[l,r]$ 内的字符顺次连接构成的子串,$\oplus$ 表示按位异或运算。 少年试图寻找,有多少对子串之间存在光芒。 子串对是无序的。具体地,$(S_{l_1\dots r_1},S_{l_2\dots r_2})$ 和 $(S_{l_2\dots r_2},S_{l_1\dots r_1})$ 视为一个子串对。 而你只需要将答案对 $998244353$ 取模之后告诉他就行了。

输入输出格式

输入格式


第一行,一个正整数 $n$。 第二行,一个字符串 $S$。 第三行,$n$ 个非负整数 $a_{1\dots n}$。 第四行,两个非负整数 $L,R$。

输出格式


一行,一个非负整数,表示答案。

输入输出样例

输入样例 #1

5
abcbc
0 1 2 3 4
2 7

输出样例 #1

2

说明

对于 $20\%$ 的数据,$n \le 100$; 对于 $50\%$ 的数据,$n \le 10^3$; 对于 $100\%$ 的数据,$1 \le n \le 10^5$, $0 \le a_i,L,R \le 10^5$, $L \le R$, $S$ 只包含小写字母。 **「出题人的馈赠」** 勇敢一点。相信某算法的常数。你想到的可能就是垃圾标算。