Submit solution
Points:
100.00
Time limit:
1.0s
Memory limit:
1G
Input:
stdin
Output:
stdout
Author:
Problem type
Allowed languages
C, C++, GAS64, Pascal, Perl, PHP, Python, Sed, TCL, Text
Tập ~S~ gồm các số nguyên dương. Ban đầu tập ~S~ rỗng. Cho ~q~ thao tác thuộc một trong hai loại:
- Loại 1: Thêm số nguyên dương ~x~ vào tập ~S~
- Loại 2: Xoá số nguyên dương ~x~ khỏi tập ~S~ (nếu tập ~S~ chứa nhiều số có giá trị bằng ~x~ thì chỉ xóa một số)
Sau mỗi thao tác, in ra số cặp số nguyên tố cùng nhau thuộc tập ~S~.
Dữ liệu
- Dòng đầu tiên gồm số thao tác ~q~ ~(1≤q≤10^5)~.
- ~q~ dòng tiếp theo, mỗi dòng gồm hai số nguyên dương ~t~ và ~x~ lần lượt là loại thao tác và số nguyên dương ~x~ cần thêm vào hoặc xoá khỏi tập ~S~ ~(1 ≤ t ≤ 2,1 ≤ x ≤ 10^6)~.
- Dữ liệu đảm bảo với mỗi thao tác loại 2 luôn tồn tại số nguyên dương ~x~ trong tập ~S~.
Kết quả
- Gồm ~q~ dòng, dòng thứ ~i~ là số cặp số nguyên tố cùng nhau thuộc tập ~S~ sau thao tác thứ ~i~.
Ví dụ
Sample Input 1
3
1 1
1 2
1 3
Sample Output 1
0
1
3
Sample Input 2
5
1 2
1 5
1 3
1 10
2 3
Sample Output 2
0
1
3
4
1
Chấm điểm
- Subtask 1 (30% số test): ~q ≤ 10^3~
- Subtask 2 (70% số test): Không có ràng buộc gì thêm
Nguồn: Free Contest 124
Comments