410389: GYM104015 G Training Session
Description
Monocarp is the coach of the Berland State University programming teams. He decided to compose a problemset for a training session for his teams.
Monocarp has $$$n$$$ problems that none of his students have seen yet. The $$$i$$$-th problem has a topic $$$a_i$$$ (an integer from $$$1$$$ to $$$200\,000$$$) and a difficulty $$$b_i$$$ (an integer from $$$1$$$ to $$$200\,000$$$). All problems are different, that is, there are no two problems that have the same topic and difficulty at the same time.
Monocarp decided to select exactly $$$3$$$ problems from $$$n$$$ problems for the problemset. The problems should satisfy at least one of two conditions (possibly, both):
- the topics of all three selected problems are different;
- the difficulties of all three selected problems are different.
Your task is to determine the number of ways to select three problems for the problemset.
InputThe first line contains an integer $$$n$$$ ($$$3 \le n \le 200\,000$$$) — the number of problems that Monocarp has.
In the $$$i$$$-th of the following $$$n$$$ lines, there are two integers $$$a_i$$$ and $$$b_i$$$ ($$$1 \le a_i, b_i \le 200\,000$$$) — the topic and the difficulty of the $$$i$$$-th problem.
It is guaranteed that there are no two problems that have the same topic and difficulty at the same time.
OutputPrint the number of ways to select three training problems that meet either of the requirements described in the statement.
ExamplesInput4 2 4 3 4 2 1 1 5Output
3Input
5 1 5 2 4 3 3 4 2 5 1Output
10Note
In the first example, you can take the following sets of three problems:
- problems $$$1$$$, $$$2$$$, $$$4$$$;
- problems $$$1$$$, $$$3$$$, $$$4$$$;
- problems $$$2$$$, $$$3$$$, $$$4$$$.
Thus, the number of ways is equal to three.