PKA - Airplane Parking

no tags 

During this economic crisis time, Jack has started an incredible new business related to air travel, a parking-lot for airplane. He bought a very large land to park airplanes. However the land is very narrow, so that the only way airplanes can go in or go out of the parking lot must be in the Last-In First-Out fashion (see picture below). He only has spaces in the parking lot so he cannot take some airplane at the end out so that other airplanes can move. Because of the limitation of the parking lot, it is not possible to accommodate all requests for parking. Each request consists of the planned arrival time and planned departure time, which are the times the airplane arrives at the parking lot.

An example below shows a request table for 4 planes.

Airplane Arrival Departure
1 1 10
2 2 5
3 3 7
4 6 9

In this case, it is possible to accommodate airplane 1, 2, and 4. But it is not possible to accommodate both airplanes 2 and 3. It is possible that different planes plan to arrive or depart the parking lot at the same time. Jack has the best crews working with him, so that they will manage to arrange the plane to the parking lot in the best way that if it is possible to park and take out the planes they will be able to do it.

Consider another example.

Airplane Arrival Departure
5 10 12
6 10 15
7 13 17

Although airplane 5 and 6 arrive at the same time, Jack's crews know that airplane 5 will have to be out before airplane 6, so when both airplanes arrive they put airplane 6 in first, following by airplane 5.

Given a list of parking requests, you want to find the maximum number of airplanes that can be parked in this parking lot, provided that they can only depart in the Last-In First-Out fashion.

Input

The first line contains an integer T, the number of test cases (1 < T < 5). Each test case is in the following format. The first line starts with an integer N (1 < N < 300) denoting the number of airplanes. The next N lines describe the request table. Each line 1 + i, for 1 < i < N, contains two integer Si and Ti, (0 < Si < Ti < 1,000,000,000) which are the planned arrival time and planned departing time for airplane i.

Output

For each test case, you program must output a single line consisting of one integer, the maximum number of airplanes that can be parked in Jack's parking lot.

Example

Input: 
2
4
1 10
2 5
3 7
6 9
3
10 12
10 15
13 17
Output:
3
2

hide comments
Simes: 2019-10-14 21:54:11

Exactly the same as HFLY

Alex Abbas: 2014-04-15 07:02:40

the answer to
3
1 2
1 3
3 4
is 3 costed me a lot of WAs and coded it twice because of this case it's not clear in the statement

Gurpreet Singh: 2012-06-21 17:19:58

Can more than 1 airplane depart at the same time? Please help me with the following test case :

4
1 10
2 10
3 10
3 10

Last edit: 2012-06-21 17:22:38
Carlos Eduardo Rodrigues Alves [USJT]: 2010-09-25 12:55:39

In the input, 25 should be 2 5. Similar mistakes with 37 and 69.


Added by:Race with time
Date:2010-09-25
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64 NODEJS OBJC VB.NET
Resource:ACM ICPC Phuket 2009 - 2010