2665 Trees

Last-modified: 2009-05-06 (水) 20:05:36

原文


時間制限:1000ミリ秒
メモリ制限:65536KB

問題

北京大学の東口から離れた所にある道は、多くの木で飾られている。しかし、地下鉄の建設のため、多くの木が減らされたり、動かされたりする。多くの木が残される方法を数えるのを手伝って欲しい。今、道の片方だけを考慮することにする。木は道の始まりから1mごとに植えられている。現在、道の上のいくつかの部分については、地下鉄駅や他の建物のために、その部分にある木が切り倒されるか、動かされることになっている。残る木の数を数えるプログラムを作成せよ。
例えば、道の長さが300mであるとする。木は道の始まりから1mごとに植えられているので、道には301本の木があったことになる。今、道の始まりから100m~200mの区間は地下鉄駅になるので、この区間の木は移動される。これにより、200本の木が残ることになる。

入力

入力はいくつかのテストケースを含む。各テストケースの最初の行には、道の長さを示す正の整数L(1 <= L < 2,000,000,000)と、木が移動される区間の数を示す整数M(1 <= M <= 5000)が空白区切りで書かれている。次のM行には、各区間の情報として、2つの整数が空白区切りで書かれている。最初の整数は始点=Start, 次の整数は終点=Endである(0 <= Start <= End <= L)。これらは、その区間が道の始まりからStart(m)~End(m)の範囲にあることを示す。各区間が互いに重なることはない。L = M = 0の場合は、テストケースの終端を示す。

出力

各テストケースに対して、各行に残る木の数を表す1つの整数を出力せよ。

入力の例

300 1
100 200
500 2
100 200
201 300
0 0

出力の例

200
300

出典

Beijing 2005 Preliminary