#1094. 2-03G. JM的无情铁手

内存限制:512 MiB 时间限制:750 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: LittleFall

题目描述

B站up主,我只看,刘JM真的很强。 ——Fall.齐 先生

菜的一批的JM先生最近研发出了一种对数组的新操作,他称为无情铁手,形式化的定义如下:

  1. 设数组长为,元素分别为
  2. 如果,则操作结束之后不变
  3. 如果,则首先将按下标的奇偶拆分成两个数组,即数组, 数组。然后分别对执行无情铁手操作,再把接在的后面就是操作完成后的A。

现在JM先生有一个初始时长为的数组,元素为

JM先生有个询问,他想知道对于,执行一次无情铁手操作后的数组,下标在区间、值在区间内的值的总和是多少。

因为结果可能太大,需要对一个给定的整数取模。所有询问相互独立。

如果你能AC这道题目,你就会受到JM先生无情铁手的祝福,++节操。

输入格式

输入第一行有三个整数n,q,m,分别表示数组长度,询问个数,模数。

之后有q行,每行4个整数l,r,u,v,表示需要统计的下标区间与值域区间。

输出格式

输出行,每行一个整数,表示该次询问的统计答案对取模后的结果。

样例

输入样例

2 5 10000
1 2 2 2
1 1 4 5
1 1 2 5
1 1 1 3
1 2 5 5

输出样例

2
0
0
1
0

数据范围与提示