Problem:
Score: 400 points

Problem Statement

In Takahashi Kingdom, there is a east-west railroad and N cities along it, numbered 1, 2, 3, ..., N from west to east.
A company called AtCoder Express possesses M trains, and the train i runs from City L_i to City R_i (it is possible that L_i = R_i).
Takahashi the king is interested in the following Q matters:

The number of the trains that runs strictly within the section from City p_i to City q_i, that is, the number of trains j such that p_i \leq L_j and R_j \leq q_i.

Although he is genius, this is too much data to process by himself. Find the answer for each of these Q queries to help him.

Constraints

N is an integer between 1 and 500 (inclusive).

M is an integer between 1 and 200 \ 000 (inclusive).

Q is an integer between 1 and 100 \ 000 (inclusive).

1 \leq L_i \leq R_i \leq N (1 \leq i \leq M)

1 \leq p_i \leq q_i \leq N (1 \leq i \leq Q)

Input

Input is given from Standard Input in the following format:

N M Q
L_1 R_1
L_2 R_2
:
L_M R_M
p_1 q_1
p_2 q_2
:
p_Q q_Q

Output

Print Q lines. The i-th line should contain the number of the trains that runs strictly within the section from City p_i to City q_i.

Sample Input 1

2 3 1
1 1
1 2
2 2
1 2

Sample Output 1

3

As all the trains runs within the section from City 1 to City 2, the answer to the only query is 3.

Sample Input 2

10 3 2
1 5
2 8
7 10
1 7
3 10

Sample Output 2

1
1

The first query is on the section from City 1 to 7. There is only one train that runs strictly within that section: Train 1.
The second query is on the section from City 3 to 10. There is only one train that runs strictly within that section: Train 3.

Sample Input 3

10 10 10
1 6
2 9
4 5
4 7
4 7
5 8
6 6
6 7
7 9
10 10
1 8
1 9
1 10
2 8
2 9
2 10
3 8
3 9
3 10
1 10

Sample Output 3

7
9
10
6
8
9
6
7
8
10

Solution in JavaScript (node.js v5.12) (judge verdict: Time Limit Exceeded)

// parameter "input" gets all data
function Main(input) {
	// the first line is assigned to input[0], the second line is assigned to input[1] similarly.
	input = input.split("\n");
	tmp = input[0].split(" ");
	// convert string from integer using "parseInt"
	var n = parseInt(tmp[0], 10);
	var m = parseInt(tmp[1], 10);
	var q = parseInt(tmp[2], 10);
	var trains = [];
	for (var i = 0; i < m; i++) {
		var train  =input[i+1].split(" ");
		var q1 = parseInt(train[0], 10);
		var q2 = parseInt(train[1], 10);
		trains.push([q1,q2]);
	}
	function compare(a,b) {
	  if (a[0] < b[0])
	    return 1;
	  if (a[0] > b[0])
	    return -1;
	  if(a[1]>b[1])
	  	return -1;
	  if(a[1]<b[1])
	  	return 1;
	  return 0;
	}

	trains.sort(compare);
	var p = m;
	for (var j = 0; j < q; j++) {
		query = input[++p].split(" ");
		var q1 = parseInt(query[0], 10);
		var q2 = parseInt(query[1], 10);
		var ans = 0;
		for (var i in trains) {
			if(trains[i][0]>=q1){
				if(trains[i][1]<=q2)
					ans++;
			}
			else
				break;
		}
		console.log('%d',ans);
	}
	//output
}
// Don't edit this line!
Main(require("fs").readFileSync("/dev/stdin", "utf8"));