#codethanksfestival14qualad. [code_thanks_festival_14_quala_d]定期券

[code_thanks_festival_14_quala_d]定期券

問題文

あなたの勤める鉄道会社の路線には一直線に並んだ NN 個の駅があり、駅には 11 から NN までの異なる整数の番号がついています。より具体的には、駅 11、駅 22、……、駅 N1N-1、駅 NN の順で駅が並んでいて、隣り合う駅の間に線路が引かれています。

この路線では従来は複雑な運賃計算方法を使っていましたが、乗客から運賃に関する質問が絶えないので、運賃計算を簡単にするために 11 駅ぶん移動するごとに 100100 円の運賃がかかるという単純な運賃計算を導入することにしました。たとえば、駅 22 から駅 66 へ行くのには 400400 円かかります。

ただし、定期券を持っている場合には運賃計算の際に定期券も考慮する必要があります。駅 aa から駅 bb までの定期券を持っている場合、その間にある駅どうしで移動するぶんの運賃はかかりません。たとえば、駅 33 から駅 55 までの定期券を持っているとき

  • 22 から駅 66 へ行くのには 200200 円かかります。
    • 22 から駅 33 への移動と、駅 55 から駅 66 への移動は定期券の圏外なのでそれぞれ 100100 円がかかります。
    • 一方、駅 33 から駅 44、駅 44 から駅 55 への移動は定期券の圏内なので運賃はかかりません。
  • 33 から駅 44 へ行くのには運賃はかかりません。
  • 77 から駅 1010 へ行くのには 300300 円かかります。

さて、せっかく運賃計算方法を単純にしたのに、いまだ乗客からの運賃に関する質問は減る様子を見せません。あなたは、これぐらい単純なルールであれば、プログラムで質問に答えられるのではないかと考えました。「駅 aa から駅 bb までの定期券を持っている人が、駅 ss から駅 tt へ行くときにかかる運賃は何円か?」という形式の質問に答えるプログラムを作成してください。


入力

NN QQ a1a_1 b1b_1 s1s_1 t1t_1 a2a_2 b2b_2 s2s_2 t2t_2 : aQa_Q bQb_Q sQs_Q tQt_Q

  • 11 行目には、駅の数を表す整数 NN (2N1052 ≦ N ≦ 10^5) と、運賃に関する質問の数を表す整数 QQ (1Q1051 ≦ Q ≦ 10^5) が書かれている。
  • 22 行目から QQ 行にわたって、各行に運賃に関する質問の情報が書かれている。このうち ii (1iQ1 ≦ i ≦ Q) 行目には ii 番目の質問を表す 44 つの整数 ai,bia_i, b_i (1ai<biN1 ≦ a_i < b_i ≦ N), si,tis_i, t_i (1si<tiN1 ≦ s_i < t_i ≦ N) が書かれている。これは ii 番目の質問が「駅 aia_i から駅 bib_i までの定期券を持っている人が、駅 sis_i から駅 tit_i へ行くときにかかる運賃は何円か?」であることを表す。

出力

QQ 行出力せよ。ii (1iQ1 ≦ i ≦ Q) 行目に、ii 番目の質問に対する答えを表す整数を出力せよ。


入力例1


10 3
3 5 2 6
3 5 3 4
3 5 7 10

出力例1


200
0
300

この入出力例は問題文中で説明されている例です。


入力例2


100000 5
30000 50000 12345 67890
50000 50001 50000 50002
1 100000 9384 99384
1 2 3 100000
48592 84911 58124 91852

出力例2


3554500
100
0
9999700
694100