#E. Minimal Segment Cover

    Type: RemoteJudge 2000ms 256MiB

Minimal Segment Cover

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

Description

You are given nn intervals in form [l;r][l; r] on a number line.

You are also given mm queries in form [x;y][x; y]. What is the minimal number of intervals you have to take so that every point (not necessarily integer) from xx to yy is covered by at least one of them?

If you can't choose intervals so that every point from xx to yy is covered, then print -1 for that query.

The first line contains two integers nn and mm (1n,m21051 \le n, m \le 2 \cdot 10^5) — the number of intervals and the number of queries, respectively.

Each of the next nn lines contains two integer numbers lil_i and rir_i (0li<ri51050 \le l_i < r_i \le 5 \cdot 10^5) — the given intervals.

Each of the next mm lines contains two integer numbers xix_i and yiy_i (0xi<yi51050 \le x_i < y_i \le 5 \cdot 10^5) — the queries.

Print mm integer numbers. The ii-th number should be the answer to the ii-th query: either the minimal number of intervals you have to take so that every point (not necessarily integer) from xix_i to yiy_i is covered by at least one of them or -1 if you can't choose intervals so that every point from xix_i to yiy_i is covered.

Input

The first line contains two integers nn and mm (1n,m21051 \le n, m \le 2 \cdot 10^5) — the number of intervals and the number of queries, respectively.

Each of the next nn lines contains two integer numbers lil_i and rir_i (0li<ri51050 \le l_i < r_i \le 5 \cdot 10^5) — the given intervals.

Each of the next mm lines contains two integer numbers xix_i and yiy_i (0xi<yi51050 \le x_i < y_i \le 5 \cdot 10^5) — the queries.

Output

Print mm integer numbers. The ii-th number should be the answer to the ii-th query: either the minimal number of intervals you have to take so that every point (not necessarily integer) from xix_i to yiy_i is covered by at least one of them or -1 if you can't choose intervals so that every point from xix_i to yiy_i is covered.

Sample Input 1

2 3
1 3
2 4
1 3
1 4
3 4

Sample Output 1

1
2
1

Sample Input 2

3 4
1 3
1 3
4 5
1 2
1 3
1 4
1 5

Sample Output 2

1
1
-1
-1

Note

In the first example there are three queries:

  1. query [1;3][1; 3] can be covered by interval [1;3][1; 3];
  2. query [1;4][1; 4] can be covered by intervals [1;3][1; 3] and [2;4][2; 4]. There is no way to cover [1;4][1; 4] by a single interval;
  3. query [3;4][3; 4] can be covered by interval [2;4][2; 4]. It doesn't matter that the other points are covered besides the given query.

In the second example there are four queries:

  1. query [1;2][1; 2] can be covered by interval [1;3][1; 3]. Note that you can choose any of the two given intervals [1;3][1; 3];
  2. query [1;3][1; 3] can be covered by interval [1;3][1; 3];
  3. query [1;4][1; 4] can't be covered by any set of intervals;
  4. query [1;5][1; 5] can't be covered by any set of intervals. Note that intervals [1;3][1; 3] and [4;5][4; 5] together don't cover [1;5][1; 5] because even non-integer points should be covered. Here 3.53.5, for example, isn't covered.

20240326集训

Not Attended
Status
Done
Rule
IOI
Problem
7
Start at
2024-3-26 19:00
End at
2024-3-26 21:00
Duration
2 hour(s)
Host
Partic.
14