#P976. 区间匹配

区间匹配

题目描述

给定一个长度为 nn 的序列 a1,a2,...ana_1,a_2,...a_n 及 qq 次询问,每次询问包含 44 个参数 l1i,r1i,l2i,r2il1_i,r1_i,l2_i,r2_i ,你可以从区间 [l1i,r1i][l1_i,r1_i] 中任意取出一个整数 xx 、 区间 [l2i,r2i][l2_i,r2_i] 中任意取出一个整数 yy ,xx与yy可以是序列中的同一个数字。

请问对于每一次询问给定的参数,有多少种取法可以使得 x=yx=y?

输入格式

输入第一行,两个正整数 n,qn,q 输入第二行,nn 个正整数 a1,...,ana_1,...,a_n 接下来 qq 行,每行四个正整数,其中第 i+2i+2 行的数表示第 ii 个询问的参数 l1i,r1i,l2i,r2il1_i,r1_i,l2_i,r2_i

输出格式

输出共 qq 行,第 ii 行对应第 ii 个问题的答案

5 2
1 2 3 2 1
1 2 4 5
1 4 2 5
2
6

数据范围

  • 对于 30%30\% 的数据,1≤n,q≤1001\leq n,q \leq 100
  • 对于 60%60\% 的数据,1≤n,q≤1031\leq n,q \leq 10^3
  • 对于 100%100\% 的数据,1≤n,q≤5×1041\leq n,q\leq 5\times 10^4,1≤ai≤n1 \leq a_i \leq n,1≤l1i≤r1i≤n1 \leq l1_i \leq r1_i \leq n,1≤l2i≤r2i≤n1 \leq l2_i \leq r2_i \leq n