#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
typedef struct data
{
int close;
int open;
data (int c, int p)
{
close = c;
open = p;
}
data ()
{
close = 0;
open = 0;
}
} data;
data arr[1000006];
int main ()
{
int n, k;
cin>>n>>k;
int A, B;
for (int i=0; i<k; i++)
{
cin>>A>>B;
arr[A].open++;
arr[B].close++;
}
vector <int> list;
int so = 0;
for (int i=1; i<=n; i++)
{
so += arr[i].open;
list.push_back(so);
so -= arr[i].close;
}
sort(list.begin(), list.end());
cout<<list[(n/2)];
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdHlwZWRlZiBzdHJ1Y3QgZGF0YQp7CiAgICBpbnQgY2xvc2U7CiAgICBpbnQgb3BlbjsKICAgIGRhdGEgKGludCBjLCBpbnQgcCkKICAgIHsKICAgICAgICBjbG9zZSA9IGM7CiAgICAgICAgb3BlbiA9IHA7CiAgICB9CiAgICBkYXRhICgpCiAgICB7CiAgICAgICAgY2xvc2UgPSAwOwogICAgICAgIG9wZW4gPSAwOwogICAgfQp9IGRhdGE7CgpkYXRhIGFyclsxMDAwMDA2XTsKIAppbnQgbWFpbiAoKQp7CiAgICBpbnQgbiwgazsKICAgIGNpbj4+bj4+azsKICAgIGludCBBLCBCOwogICAgZm9yIChpbnQgaT0wOyBpPGs7IGkrKykKICAgIHsKICAgICAgICBjaW4+PkE+PkI7CiAgICAgICAgYXJyW0FdLm9wZW4rKzsKICAgICAgICBhcnJbQl0uY2xvc2UrKzsKICAgIH0KICAgIHZlY3RvciA8aW50PiBsaXN0OwogICAgaW50IHNvID0gMDsKICAgIGZvciAoaW50IGk9MTsgaTw9bjsgaSsrKQogICAgewogICAgICAgIHNvICs9IGFycltpXS5vcGVuOwogICAgICAgIGxpc3QucHVzaF9iYWNrKHNvKTsKICAgICAgICBzbyAtPSBhcnJbaV0uY2xvc2U7CiAgICB9CiAgICAKICAgIHNvcnQobGlzdC5iZWdpbigpLCBsaXN0LmVuZCgpKTsKCiAgICBjb3V0PDxsaXN0WyhuLzIpXTsKICAgIHJldHVybiAwOwp9