CF1701F Points
Description
A triple of points $ i $ , $ j $ and $ k $ on a coordinate line is called beautiful if $ i < j < k $ and $ k - i \le d $ .
You are given a set of points on a coordinate line, initially empty. You have to process queries of three types:
- add a point;
- remove a point;
- calculate the number of beautiful triples consisting of points belonging to the set.
Input Format
The first line contains two integers $ q $ and $ d $ ( $ 1 \le q, d \le 2 \cdot 10^5 $ ) — the number of queries and the parameter for defining if a triple is beautiful, respectively.
The second line contains $ q $ integers $ a_1, a_2, \dots, a_q $ ( $ 1 \le a_i \le 2 \cdot 10^5 $ ) denoting the queries. The integer $ a_i $ denotes the $ i $ -th query in the following way:
- if the point $ a_i $ belongs to the set, remove it; otherwise, add it;
- after adding or removing the point, print the number of beautiful triples.
Output Format
For each query, print one integer — the number of beautiful triples after processing the respective query.