#D2128O. 堆叠草堆

堆叠草堆

题目描述

Bessie对她自己最近在农场周围的恶作剧感到抱歉,于是她同意帮助Farmer John堆叠新送达的一批干草捆。

开始时有N(N是奇数)个空草堆,标记为1..N。FJ将会给Bessie包含K条指令的序列,每条指令的格式为"A B",表示Bessie应该在草堆A..B中每一个草堆顶部新放一捆干草。例如,如果Bessie听到指令"10 13",那么她应该在草堆10,11,12和13上各新放一捆干草。

在Bessie完成了FJ的所有指令后,FJ想要知道N个草堆高度的中位数——也就是说,所有草堆排序后中央草堆(由于N是奇数,这个草堆是唯一的)的高度。请帮助Bessie确定FJ问题的答案。

输入

第1行:两个被空格分隔的整数N和K。

第2..1+K行:每行包含一条FJ的指令,其格式为两个被空格分隔的整数A和B。

输出

输出共一行一个整数, Bessie 完成所有指令后草堆高度的中位数。

样例输入

7 4
5 5
2 4
4 6
3 5

样例输出

1

提示

【输入说明】

有N=7个草堆,FJ给出了K=4条指令。第一条指令要求增加草堆5的干草捆,第二条指令要求增加草堆2..4的干草捆,等等。

【输出说明】

Bessie完成任务后,草堆的高度为0,1,2,3,3,1,0。高度的中位数是1,因为1是排序后结果0,0,1,1,2,3,3的中间数。

【数据规模】

对于20%的数据:1≤N(N为奇数)≤100;1≤K≤100;

对于40%的数据:1≤N(N为奇数)≤1,000;1≤K≤5,000;

对于60%的数据:1≤N(N为奇数)≤50,000;1≤K≤10,000;

对于100%的数据:1≤N(N为奇数)≤1,000,000;1≤K≤25,000;1≤A≤B≤N;