#include <fstream>
#include <algorithm>
#define ll long long
using namespace std;
const int NMAX = 50004;
ifstream cin("orase.in");
ofstream cout("orase.out");
struct hell
{
int d, l;
}v[NMAX];
bool cmp(hell a, hell b)
{
if (a.d != b.d)
return a.d < b.d;
}
int main()
{
int n, m, i, ans = 0, mx = -1;
cin >> m >> n;
for (i = 1; i <= n; i++)
cin >> v[i].d >> v[i].l;
sort(v + 1, v + n + 1, cmp);
mx = v[1].l - v[1].d;
for (i = 2; i <= n; i++)
{
ans = max(ans, v[i].l + v[i].d + mx); // v[i].l + v[i].d - v[j].l - v[j].d
mx = max(mx, v[i].l - v[i].d);
}
cout << ans;
}