#arc0144. [arc014_4]grepマスター

[arc014_4]grepマスター

問題文

高橋君は目grepgrepが得意である。しかしこの世には目grepgrepが得意な人が大勢いて特技にならないため、高橋君は新たな技を習得すべくgrepgrepコマンドのマニュアルを目grepgrepしていた。

検索コマンド grepgrep には \-B\-B\-A\-A というオプションがある。これは、
grepgrep \-B\-B xx \-A\-A yy "needle""needle" kakikomi.txtkakikomi.txt とすると ファイルkakikomi.txtkakikomi.txt でパターン "needle""needle" にヒットした行だけでなく、その行の直前 xx 行, 直後 yy 行をあわせて表示するというものである。直前直後にある行数がx,yx,yに満たない場合、あるだけ表示する。

同じ行番号の行が複数回表示されることになった場合、これらはマージされ、全体で1回ずつしか現れないようになる。この挙動については出力例の説明が詳しい。

今、ファイルkakikomi.txtkakikomi.txt に対してあるパターンでgrepgrepを実行し、ヒットする行番号のリスト L1,L2,...,LnL_1,L_2,...,L_n がわかっているものとする。ここに mm 個のクエリが与えられ、それぞれx,yが指定される。各クエリについて、\-B\-B xx \-A\-A yyのオプションをつけて同様にgrepgrepを実行した場合、表示される行数を答えよ。


入力

入力は以下の形式で標準入力から与えられる。allall NN MM L1L_{1} L2L_{2} : LNL_{N} x1x_{1} y1y_{1} x2x_{2} y2y_{2} : xMx_{M} yMy_{M}

  1. 11 行目には kakikomi.txtkakikomi.txt の行数を表す整数 all(1all109)all(1≦all≦10^9)、ヒットした行数を表す整数 N(1Nmin(all,105))N(1≦N≦min(all,10^5)) 、クエリx,yx, y の個数を表す整数 M(1M105)M(1≦M≦10^5) が与えられる。
  2. 22 行目から N+1N+1 行までの NN 行では、ii 番目にヒットした行の行番号を表す整数 Li(1Liall)L_{i}(1≦L_{i}≦all) が与えられる。
  • LiL_iLi<Li+1L_i < L_{i+1}を満たす。
  1. N+2N+2 行目から N+M+1N+M+1 行までの MM 行では、LiL_i に対する各クエリを表す整数 xi,yi(0xi,yi109)x_i, y_i(0≦x_i, y_i≦10^9) が与えられる。

出力

各クエリx,yx, y に対して表示される行数をそれぞれ11 行で出力すること。
また、出力の最後には改行をいれること。


入力例 1


7 2 3
2
4
1 1
3 0
3 4

出力例 1


5
4
7
  • ヒットした行は、 22 行目と 44 行目である。
  • x=1,y=1x = 1, y = 1 のとき、それぞれのヒット範囲は、 1133 行目、3355 行目なので、合わせて 55行が答えとなる。
  • x=3,y=0x = 3, y = 0 のとき、それぞれのヒット範囲は、 1122 行目、1144 行目なので、合わせて 44行が答えとなる。
  • x=3,y=4x = 3, y = 4 のとき、それぞれのヒット範囲は、 1166 行目、1177 行目なので、合わせて 77行が答えとなる。

入力例 2


100 5 5
3
18
24
57
90
1 8
27 0
15 16
22 3
2 2

出力例 2


46
80
98
79
25