Cho đơn đồ thị vô hướng gồm ~n~ đỉnh và ~m~ cạnh ảo, tức ban đầu đồ thị chưa có cạnh.
Có ~k~ vũ trụ song song khác nhau, vũ trụ song song thứ ~i~ (~1 \leq i \leq k~) được biểu diễn bởi cặp số ~l_i, r_i~ (~l_i \leq r_i~): tất cả cạnh có chỉ số từ ~l_i~ đến ~r_i~ sẽ biến thành cạnh thật, tức sẽ có ~r_i - l_i + 1~ cạnh tồn tại trên đồ thị. Các vũ trụ song song không có khả năng tác động đến nhau.
Với mỗi vũ trụ song song, đếm số lượng thành phần liên thông trên đồ thị.
Input
Dòng đầu gồm hai số nguyên ~n, m~ (~1 \leq n, m \leq 50000~).
~m~ dòng tiếp theo, dòng thứ ~i~ chứa hai số nguyên ~u_i, v_i~ biểu diễn một cạnh vô hướng của đồ thị (~1 \leq u_i, v_i \leq n~, ~u_i \neq v_i~).
Dòng tiếp theo chứa số nguyên ~k~ (~1 \leq k \leq 50000~).
Dòng thứ ~i~ trong ~k~ dòng tiếp theo chứa hai số nguyên ~l_i, r_i~ (~1 \leq l_i \leq r_i \leq m~) biểu diễn một vũ trụ song song.
Output
Xuất ra ~k~ dòng, dòng thứ ~i~ là đáp án cho vũ trụ song song thứ ~i~.
Scoring
Subtask | Điểm | Giới hạn |
---|---|---|
1 | ~20\%~ | ~n, m, k \leq 2000~. |
2 | ~30\%~ | ~l_i \leq 10~ (~1 \leq i \leq k~) và ~r_i \leq r_{i+1}~ (~1 \leq i \leq k-1~). |
3 | ~50\%~ | Không có ràng buộc gì thêm. |
Sample Input 1
3 3
1 2
2 3
1 3
5
1 1
1 2
2 3
3 3
1 3
Sample Output 1
2
1
1
2
1
Sample Input 2
8 6
1 2
2 3
3 1
3 4
4 5
5 3
7
3 5
1 6
1 4
3 6
2 4
2 3
5 6
Sample Output 2
5
4
5
5
5
6
6
Notes
Trong test ví dụ thứ hai, đồ thị "ảo" nhìn như sau:
Đồ thị "thật" trong vũ trụ song song đầu tiên nhìn như sau, đồ thị được tô ~5~ màu tương ứng với ~5~ thành phần liên thông:
Bình luận