#include<bits/stdc++.h>
using namespace std;
const int maxn=4e3+100;
typedef long long ll;
ll l[maxn],r[maxn],d[maxn];
int main()
{
    int n,m,k;cin>>n>>m>>k;
    for(int i=1;i<=m;i++)cin>>l[i]>>r[i];
     ll ans=0;
    for(int i=1,j=k;j<=n;i++,j++)//枚举第一个区间
    {
        ll sum=0,w;
        memset(d,0,sizeof(d));
        for(int p=1;p<=m;p++) {
            w = max(0ll, min(r[p], 1ll*j)+1 - max(l[p], 1ll*i));
            sum += w;
            if(w<r[p]-l[p]+1)d[l[p]+w]++,d[min(l[p]+k,r[p]+1)]--,d[max(l[p]+k,r[p]+1)]--,d[r[p]+1+k-w]++;
        }
        for(int q=1;q<=n;q++)d[q]+=d[q-1];
        ll imax=0;
        for(int q=1;q<=n;q++)d[q]+=d[q-1],imax=max(imax,1ll*d[q]);
        ans=max(ans,sum+imax);
    }
   cout<<ans<<endl;
}