# CodeChef | Chef and His Garden | August Challenge | Answer

Chef is an advocate for Go Green Initiative. Today he had

**n**trees planted in a row outside his his restaurant. Today, the height of**i**-th tree is**h**feet. The trees grow at a rate of_{i}**m**feet per day._{i}
Chef knows that trees will look beautiful if they form a

*zig-zag*sequence. The trees will be said to be in*Zig-zag*sequence if the heights of tree first increases or decreases, then alternates between decreasing/increasing respectively. Formally, the trees will be said to in*Zig-zag*sequence if one of the following two conditions holds.**h**and so on.._{1}< h_{2}> h_{3}< h_{4}**h**and so on.._{1}> h_{2}< h_{3}> h_{4}

Chef wants to know intervals of time when the heights of the trees will form a

*zig-zag*sequence.### Input

The first line of the input contains an integer

**T**denoting the number of test cases. The description of**T**test cases follows.
The first line of each test case contains a single integer

**n**, denoting the number of trees.
The

**i**of following^{th}**N**lines contains two space separated integers**h**and_{i}**m**, denoting the initial height and the growth speed for_{i}**i**^{th}tree.### Output

For each test case, output an integer

**Q**- the amount of the periods of consecutive moments of time, when the trees for a zig-zag sequence.
On the following

**Q**lines, output the intervals of time when the trees' heights form a zig-zag sequence. For each intervals, output its' smallest and the largest instants of time. If the range is infinite, output`Inf`as the right bound.
The test cases are designed in such a way that the total output won't exceed 2 MB.

### Constraints

**1**≤**T**≤**10**^{5}**1**≤**n**≤**10**- Subtask 1 (23 points):
**0**≤≤**h**,_{i}**m**_{i}**10** - Subtask 2 (77 points):
**0**≤≤**h**,_{i}**m**_{i}**10**^{9} **1**≤ sum of**n**over a test cases in a single test file ≤**5 × 10**^{5}

### Example

**Input:**
`3
3
0 1
2 2
0 3
2
2 1
1 2
3
1 1
2 2
3 3`
**Output:**
`1
0 1
2
0 0
2 Inf
0`

### Explanation

**Example case 1.**In the first case

**0 2 0**is already a

*zig-zag*sequence, but on the 2nd second it will become

**2 6 6**and will never turn back into

*zig-zag*