Hungry Queen
Consider an infinite chessboard with cells identified by pairs of integer numbers: (x, y). The black queen is initially located at the cell (0, 0). The queen can move horizontally, vertically or diagonally, but cannot move downwards. That is, after each turn the y-coordinate of the cell where the queen is after the turn must be greater or equal to the y-coordinate of the cell where it was before the turn.
There are n white pawns on the board, they are located at cells (x_i, y_i), where y_i > 0.
The queen wants to take as many pawns as possible. White pawns do not move, and the queen can make as many consecutive turns as needed. However, each turn the queen must take a pawn.
Find out what is the maximal number of pawns the queen can take, and which pawns it must take to achieve this number.
Input
The first line of the input file contains n (1 ≤ n ≤ 50000). The following n lines contain two integer numbers each - the coordinates (x_i, y_i) of the pawns (|x_i| ≤ 10^9, 0 < y_i ≤ 10^9). No two pawns occupy the same position.
Output
The first line of the output file must contain one integer number k - the number of pawns the queens can take. The second line must contain k integer numbers - the numbers of the pawns the queen can take in order she must do it. The pawns are numbered starting from 1 in order they are given in the input file.