CF BUDDY
← Problems·

1285E · Delete a Segment

2300 · brute force, constructive algorithms, data structures

Problem: There are nn segments on a OxOx axis [l1,r1][l_1, r_1], [l2,r2][l_2, r_2], ..., [ln,rn][l_n, r_n]. Segment [l,r][l, r] covers all points from ll to rr inclusive, so all xx such that lxrl \le x \le r.

Segments can be placed arbitrarily  — be inside each other, coincide and so on. Segments can degenerate into points, that is li=ril_i=r_i is possible.

Union of the set of segments is such a set of segments which covers exactly the same set of points as the original set. For example:

  • if n=3n=3 and there are segments [3,6][3, 6], [100,100][100, 100], [5,8][5, 8] then their union is 22 segments: [3,8][3, 8] and [100,100][100, 100];
  • if n=5n=5 and there are segments [1,2][1, 2], [2,3][2, 3], [4,5][4, 5], [4,6][4, 6], [6,6][6, 6] then their union is 22 segments: [1,3][1, 3] and [4,6][4, 6].

Obviously, a union is a set of pairwise non-intersecting segments.

You are asked to erase exactly one segment of the given nn so that the number of segments in the union of the rest n1n-1 segments is maximum possible.

For example, if n=4n=4 and there are segments [1,4][1, 4], [2,3][2, 3], [3,6][3, 6], [5,7][5, 7], then:

  • erasing the first segment will lead to [2,3][2, 3], [3,6][3, 6], [5,7][5, 7] remaining, which have 11 segment in their union;
  • erasing the second segment will lead to [1,4][1, 4], [3,6][3, 6], [5,7][5, 7] remaining, which have 11 segment in their union;
  • erasing the third segment will lead to [1,4][1, 4], [2,3][2, 3], [5,7][5, 7] remaining, which have 22 segments in their union;
  • erasing the fourth segment will lead to [1,4][1, 4], [2,3][2, 3], [3,6][3, 6] remaining, which have 11 segment in their union.

Thus, you are required to erase the third segment to get answer 22.

Write a program that will find the maximum number of segments in the union of n1n-1 segments if you erase any of the given nn segments.

Note that if there are multiple equal segments in the given set, then you can erase only one of them anyway. So the set after erasing will have exactly n1n-1 segments.

Input Format: The first line contains one integer tt (1t1041 \le t \le 10^4) — the number of test cases in the test. Then the descriptions of tt test cases follow.

The first of each test case contains a single integer nn (2n21052 \le n \le 2\cdot10^5) — the number of segments in the given set. Then nn lines follow, each contains a description of a segment — a pair of integers lil_i, rir_i (109liri109-10^9 \le l_i \le r_i \le 10^9), where lil_i and rir_i are the coordinates of the left and right borders of the ii-th segment, respectively.

The segments are given in an arbitrary order.

It is guaranteed that the sum of nn over all test cases does not exceed 21052\cdot10^5.

Output Format: Print tt integers — the answers to the tt given test cases in the order of input. The answer is the maximum number of segments in the union of n1n-1 segments if you erase any of the given nn segments.

Sample Cases

Case 1

Input

3
4
1 4
2 3
3 6
5 7
3
5 5
5 5
5 5
6
3 3
1 1
5 5
1 5
2 2
4 4

Output

2
1
5

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback