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):
Your task is to determine the number of ways to select three problems for the problemset.
The 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.
Print the number of ways to select three training problems that meet either of the requirements described in the statement.
4 2 4 3 4 2 1 1 5
3
5 1 5 2 4 3 3 4 2 5 1
10
In the first example, you can take the following sets of three problems:
Thus, the number of ways is equal to three.