#include <bits/stdc++.h>
#define endl "\n"
using namespace std;
typedef long long ll;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

int main(){
#ifdef LOCAL
//  freopen("test.txt", "r", stdin);
#endif
  ios_base::sync_with_stdio(0);
  cin.tie(0); cout.tie(0);
  int n, m, k;
  cin >> n >> m >> k;
  vector<pair<int, int>> s(m);
  for(int i = 0; i < m; i ++)
    cin >> s[i].first >> s[i].second,
    s[i].first --;
  sort(s.begin(), s.end(), [&](pair<int, int> a, pair<int, int> b){
        return a.first + a.second < b.first + b.second;
       });
  vector<int> suf(m + 1);
  for(int i = 0; i < n - k + 1; i ++){
    int cur = 0;
    for(int j = m - 1; j >= 0; j --){
      cur += max(0, min(s[j].second, i + k) - max(s[j].first, i));
      suf[j] = max(suf[j], cur);
    }
  }
  int ans = 0;
  for(int i = 0; i < n - k + 1; i ++){
    int cur = 0;
    for(int j = 0; j < m; j ++){
      cur += max(0, min(s[j].second, i + k) - max(s[j].first, i));
      ans = max(ans, cur + suf[j + 1]);
    }
  }
  cout << ans;
}
