#P976. 区间匹配

区间匹配

题目描述

给定一个长度为 nn 的序列 a1,a2,...ana_1,a_2,...a_nqq 次询问,每次询问包含 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] 中任意取出一个整数 yyxxyy可以是序列中的同一个数字。

请问对于每一次询问给定的参数,有多少种取法可以使得 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\% 的数据,1n,q1001\leq n,q \leq 100
  • 对于 60%60\% 的数据,1n,q1031\leq n,q \leq 10^3
  • 对于 100%100\% 的数据,1n,q5×1041\leq n,q\leq 5\times 10^41ain1 \leq a_i \leq n1l1ir1in1 \leq l1_i \leq r1_i \leq n1l2ir2in1 \leq l2_i \leq r2_i \leq n