Time limit: 1.0s , Memory limit: 256M , Points: 1

Cho hai mảng số nguyên dương a và b có cùng độ dài n, các phần tử được đánh số từ 1 đến n. Không có hai phần tử nào trong mảng a trùng nhau và không có hai phần tử nào trong mảng b trùng nhau. Xét loại thao tác như sau:

  • Chọn hai chỉ số i,j (1 \le i,j \le n) thỏa mãn a_i>a_j và b_i<b_j, tiến hành gán a_j=0 và b_j=0.

Có thể nhận thấy rằng thao tác trên có thể được thực hiện với số lần hữu hạn tối đa, hai mảng a và b thu được cuối cùng là duy nhất. Bạn hãy xác định các chỉ số k (1 \le k \le n) thỏa mãn phần tử a_k và b_k mang giá trị dương sau khi thực hiện thao tác trên với số lần tối đa.

Input

  • Dòng đầu tiên chứa số nguyên n (2 \le n \le 2 \times 10^5).
  • n dòng tiếp theo, dòng thứ i chứa hai số nguyên a_i và b_i (1 \le a_i,b_i \le 10^9).
  • Dữ liệu đảm bảo không có hai phần tử nào trong mảng a trùng nhau và không có hai phần tử nào trong mảng b trùng nhau.

Output

  • Dòng đầu tiên in ra số lượng chỉ số k thỏa mãn.
  • Dòng thứ hai in ra các chỉ số thỏa mãn theo thứ tự tăng dần.

Examples

Sample Input 1
4
1 3
2 2
3 5
4 4
Sample Output 1
2
2 4
Sample Input 2
5
1 2
4 5
2 3
5 6
3 4
Sample Output 2
5
1 2 3 4 5

Notes

Trong ví dụ đầu tiên, ban đầu a=\{1,2,3,4\} và b=\{3,2,5,4\}, các thao tác được thực hiện như sau:

  1. Chọn i=2 và j=1, gán a_1=0 và b_1=0, a=\{0,2,3,4\} và b=\{0,2,5,4\}.
  2. Chọn i=4 và j=3, gán a_3=0 và b_3=0, a=\{0,2,0,4\} và b=\{0,2,0,4\}.

Sau khi thực hiện tối đa 2 thao tác, hai chỉ số k=2 và k=4 thỏa mãn điều kiện.


Comments