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

Cho hai mảng số nguyên dương ab 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_jb_i<b_j, tiến hành gán a_j=0b_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 ab 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_kb_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_ib_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\}b=\{3,2,5,4\}, các thao tác được thực hiện như sau:

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

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


Comments