#include <iostream>
#include <fstream>
using namespace std;
int L[1000005];
int main() {
ifstream fin("orase.in");
ofstream fout("orase.out");
int M, N;
fin >> M >> N;
for (int i = 0; i < N; ++i) {
int d, l;
fin >> d >> l;
if (l > L[d]) {
L[d] = l;
}
}
int distanta_maxima = 0;
int maxim_stanga = -2000000000;
bool primul_oras = true;
for (int d = 0; d <= M; ++d) {
if (L[d] > 0) {
if (!primul_oras) {
int distanta_curenta = (d + L[d]) + maxim_stanga;
if (distanta_curenta > distanta_maxima) {
distanta_maxima = distanta_curenta;
}
}
int valoare_stanga = L[d] - d;
if (valoare_stanga > maxim_stanga) {
maxim_stanga = valoare_stanga;
}
primul_oras = false;
}
}
fout << distanta_maxima << "\n";
return 0;
}