#2881. 滚

题目描述

L\red{L }经常被小 H\red{H }怒斥:「滚!」

于是小 L\red{L }滚了一圈,想到了一道题。

H\red{H }曾经给过小 L\red{L }一个长度为n\red{n}的序列a1..n\red{a_1..n}

这给了小 L\red{L }灵感,于是小 L\red{L }自己再写出了一个长度为n\red{n}的序列w1...n\red{w_1...n}

L\red{L }假设小 H\red{H }会问他m\red{m}个问题,每一个问题是这样的:

H\red{H }给出三个整数l,r,k\red{l,r,k,}并设f(x)\red{f(x)}表示x\red{x}a\red{a}序列的区间[l,r]\red{[l,r]}内的出现次数,对于所有满足f(x)>0\red{f(x)>0} 且存在y\red{y}使得0<f(y)<f(x)<=f(y)+k\red{0<f(y)<f(x)<=f(y)+k}x\red{x,}求出wf(x)\red{w_{f(x)}}的最大值。

若不存在,请回答1\red{-1}

L\red{L }希望你帮他回答他设想的这m\red{m}个问题。

输入格式

第一行,两个正整数 n,m\red{n, m}。(n,m\red{n,m≤}2e5\red{2e5)}

第二行,n\red{n }个正整数 a1,a2,...,an\red{a_1, a_2, ..., a_n}

第三行,n\red{n }个非负整数 w1,w2,...,wn\red{w_1, w_2, ..., w_n}

以下 m\red{m }行,每行三个正整数 l,r,k\red{l, r, k}

输出格式

m\red{m }行,每行一个整数,表示每个问题的答案。

样例

输入样例1

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

输出样例1

2
-1
2

输入样例2

10 3
1 2 3 3 2 3 3 2 4 4
1 1 4 5 1 4 1 9 1 9
2 6 1
3 9 3
1 10 1

输出样例2

4
5
5

提示

样例 #1\red{1:}

对于第一个问题,当x=1\red{x=1}时存在y=2\red{y=2}满足条件,且wf(x)\red{w_{f(x)}}取最大值2\red{2}

对于第二个问题,不存在满足条件的x\red{x}

对于第三个问题,当x=3\red{x=3}时存在y=1\red{y=1}满足条件,且w(f(x))\red{w_(f(x))}取最大值2\red{2}

样例 #2\red{2:}

对于第一个问题,当x=3\red{x=3}时存在y=2\red{y=2}满足条件,且wf(x)\red{w_{f_(x)}}取最大值4\red{4}

对于第二个问题,当x=3\red{x=3}时存在y=2,4\red{y=2,4}满足条件,且wf(x)\red{w_{f_(x)}}取最大值5\red{5}

对于第三个问题,当x=3\red{x=3}时存在y=2\red{y=2}满足条件,且wf(x)\red{w_{f_(x)}}取最大值5\red{5}