// E - White Pawn
#include <bits/stdc++.h>
using namespace std;

int main(){
	int N, M; cin>>N>>M;

	map<int,vector<int>> D;
	while(M--){
		int x, y; cin>>x>>y;
		D[x].push_back(y);
	}

	set<int> S({N});
	for(auto&[x, Y]:D){
		vector<int> A;
		for(int&y:Y)
			if(S.count(y-1) || S.count(y+1)) A.push_back(y);
		for(int&y:Y) if(S.count(y)) S.erase(y);
		for(int&y:A) S.insert(y);
	}
	cout<< S.size() <<endl;
}

//#pragma GCC optimize("Ofast")
#include <bits/stdc++.h>
#define rep2(a,i,n) for(ll i=(a);i<(n);i++)
#define rep(i,n) for(ll i=0;i<(n);i++)
#define pii pair<int, int>
#define pll pair<ll, ll>
#define cinf(x,n) for(ll i=0;i<(n);i++)cin>>x[i];
#define coutf(x,n) for(ll i=0;i<(n);i++)cout<<x[i]<<endl;
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;

using namespace std;

int main(){
	//ios::sync_with_stdio(false);
	//cin.tie(nullptr);
	//cout<<fixed<<setprecision(20);
	vector<int> a(3);
	cinf(a,3);
	sort(a.begin(),a.end());
	cout << a[1]+a[2] << endl;
}