#include<bits/stdc++.h>
using namespace std;
int n,m,k;
struct seg{
    int l,r;
}x[2005];
int dp[2005];
bool cmp(seg a,seg b){
    return a.l+a.r<b.l+b.r;
}
int main(){
    scanf("%d%d%d",&n,&m,&k);
    for(int i=1;i<=m;i++){
        scanf("%d%d",&x[i].l,&x[i].r);
    }
    sort(x+1,x+1+m,cmp);
    for(int i=1;i<=n-k+1;i++){
        int cur=0;
        for(int j=m;j>=1;j--){
            int l=max(i,x[j].l);
            int r=min(i+k-1,x[j].r);
            cur+=max(0,r-l+1);
            dp[j]=max(dp[j],cur);
        }
    }
    int ans=0;
    for(int i=1;i<=n-k+1;i++){
        int cur=0;
        for(int j=1;j<=m;j++){
            int l=max(i,x[j].l);
            int r=min(i+k-1,x[j].r);
            cur+=max(0,r-l+1);
            ans=max(ans,cur+dp[j+1]);
        }
    }
    printf("%d\n",ans);
}                                                                                   