H. 神明大人请听我一言

    Type: Default 1500ms 512MiB

神明大人请听我一言

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

本题目满分 150 分。

题目名称来自 はぐ (feat. 初音ミク & 可不) 的歌词。

题目描述

MIMI 给了你四个非负整数 N,L,R,KN,L,R,K,问有多少个长为 NN 的序列 aa 满足:

  • LaiRL\le a_i\le R
  • $a_1\text{ xor }a_2\text{ xor }\cdots\text{ xor }a_N=K$。

答案对 998244353998244353 取模。两个长为 NN 的序列 a,ba,b 不同,当且仅当存在 1iN1\le i\le N 使得 aibia_i\neq b_i

输入格式

本题有多组数据。 第一行一个正整数 TT 表示数据组数。

对于每组数据会输入一行四个非负整数 N,L,R,KN,L,R,K

输出格式

对于每组数据,输出一行一个非负整数表示符合条件的序列个数对 998244353998244353 取模的值。

样例 11 输入

4
3 1 3 0
4 2 3 1
4 1 3 0
4 0 2 3

样例 11 输出

6
8
21
20

样例 11 说明

对于第一组数据,符合条件的 aa 序列有且仅有 (1,2,3)(1,2,3)66 种不同排列。

对于第二组数据,符合条件的序列 aa 有且仅有 (2,2,2,3)(2,2,2,3)44 种不同排列与 (2,3,3,3)(2,3,3,3)44 种不同排列,因此答案为 4+4=84+4=8

样例 22

见附加文件。

测试点约束

对于 100%100\% 的数据,$1\le T\le 10^4,0\le L\le R<2^{60},0\le K<2^{60},1\le N\le 10^{18}$。

每个测试点的详细约束见下表:

子任务编号 TT NN 特殊性质 分数 依赖子任务
Subtask #1 5\le 5 5\le 5 R,K7R,K\le 7 1414
Subtask #2 100\le 100 R,K100R,K\le 100 1515 11
Subtask #3 1000\le 1000 R,K1000R,K\le 1000 1616 22
Subtask #4 106\le 10^6 R,K106R,K\le 10^6 1515 33
Subtask #5 100\le 100 1000\le 1000 R,K109,L=0R,K\le 10^9,L=0 88
Subtask #6 109\le 10^9 2424 55
Subtask #7 500\le 500 R,K109R,K\le 10^9 1313 4,64,6
Subtask #8 1018\le 10^{18} 2020 77
Subtask #9 104\le 10^4 2525 88