Two Editorials
Contest: Educational Codeforces Round 98 (Rated for Div. 2)
Difficulty rating: 2500
Tags: brute force, dp, greedy, sortings, two pointers

Berland regional ICPC contest has just ended. There were $$$m$$$ participants numbered from $$$1$$$ to $$$m$$$, who competed on a problemset of $$$n$$$ problems numbered from $$$1$$$ to $$$n$$$.

Now the editorial is about to take place. There are two problem authors, each of them is going to tell the tutorial to exactly $$$k$$$ consecutive tasks of the problemset. The authors choose the segment of $$$k$$$ consecutive tasks for themselves independently of each other. The segments can coincide, intersect or not intersect at all.

The $$$i$$$-th participant is interested in listening to the tutorial of all consecutive tasks from $$$l_i$$$ to $$$r_i$$$. Each participant always chooses to listen to only the problem author that tells the tutorials to the maximum number of tasks he is interested in. Let this maximum number be $$$a_i$$$. No participant can listen to both of the authors, even if their segments don't intersect.

The authors want to choose the segments of $$$k$$$ consecutive tasks for themselves in such a way that the sum of $$$a_i$$$ over all participants is maximized.

Input format:
The first line contains three integers $$$n, m$$$ and $$$k$$$ ($$$1 \le n, m \le 2000$$$, $$$1 \le k \le n$$$) — the number of problems, the number of participants and the length of the segment of tasks each of the problem authors plans to tell the tutorial to.

The $$$i$$$-th of the next $$$m$$$ lines contains two integers $$$l_i$$$ and $$$r_i$$$ ($$$1 \le l_i \le r_i \le n$$$) — the segment of tasks the $$$i$$$-th participant is interested in listening to the tutorial to.

Output format:
Print a single integer — the maximum sum of $$$a_i$$$ over all participants.

Constraints:
Time limit: 2.0 s
Memory limit: 256.0 MB

Note:
In the first example the first author can tell the tutorial to problems from $$$1$$$ to $$$3$$$ and the second one — from $$$6$$$ to $$$8$$$. That way the sequence of $$$a_i$$$ will be $$$[3, 2, 3, 3, 3]$$$. Notice that the last participant can't listen to both author, he only chooses the one that tells the maximum number of problems he's interested in.

In the second example the first one can tell problems $$$2$$$ to $$$4$$$, the second one — $$$4$$$ to $$$6$$$.

In the third example the first one can tell problems $$$1$$$ to $$$1$$$, the second one — $$$2$$$ to $$$2$$$. Or $$$4$$$ to $$$4$$$ and $$$3$$$ to $$$3$$$. Every pair of different problems will get the same sum of $$$2$$$.

In the fourth example the first one can tell problems $$$1$$$ to $$$5$$$, the second one — $$$1$$$ to $$$5$$$ as well.

Example input:
10 5 3
1 3
2 4
6 9
6 9
1 8

Example output:
14

Example input:
10 3 3
2 4
4 6
3 5

Example output:
8

Editorial:
Consider some participant's segment $$$[l; r]$$$ and one of the author's segment $$$[i; i + k - 1]$$$. How does the length of intersection change when you move $$$i$$$ from left to right? It first increases until the centers of both segments coincide (that's the easiest to notice on the segments of the same length) and then decreases. The increase is totally symmetrical to the decrease.
With that idea you can conclude that the author's segment, whose center is the closest to the center of participant's segment, has the larger intersection length.
Let's sort the participants' segments by their center. You can see that the first author will be optimal for the prefix of the segments and the second author — for the remaining suffix.
So you can just iterate over the length of the prefix and update the answer with all options.
Overall complexity: $$$O(n \log n + nm)$$$.