#include <bits/stdc++.h>
#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
#include <deque>
#include <atcoder/all>

using namespace std;

#define reps(i, a, n) for (int i = (a); i < (int)(n); ++i)
#define rep(i, n) reps(i, 0, n)

#define ALL(x) x.begin(),x.end() 
#define SIZE(x) ll(x.size()) 

#define INF32 2147483647 //2.147483647×10^{9}:32bit整数のinf
#define INF64 9223372036854775807 //9.223372036854775807×10^{18}:64bit整数のinf
#define MOD 1000000007 //問題による

#define F first
#define S second
#define ll long long

#define coutALL(x) for(auto i=x.begin();i!=--x.end();i++)cout<<*i<<" ";cout<<*--x.end()<<endl;
#define coutALL2d(vv) for(const auto& v : vv){for(const auto& e : v){cout << e << " ";}cout << endl;}

#define vi vector<int>
#define vvi vector<vector<int> >
#define vll vector<long long>
#define vvll vector<vector<long long> >

using namespace std;


int main(){
  int n,m;
  cin >> n >> m;
  vector<pair<int,int>> v;
  vector<int> s(m);
  rep(i,m){
    int x,y;
    cin >> x >> y;
    v.push_back({y,x});
    s[i] = x;
  }

  sort(ALL(v));
  int ls = v[0].F;
  int count = 1;
  for(int i = 1; i< m; i++){
    if(ls <= v[i].S) {
      count++;
      ls = v[i].F;
    }
  }
  cout << 2*(n-1)-count << endl;
}