Монокарп тренер команд Берляндского ГУ по программированию. Он решил собрать тренировку для своих команд перед квалификационным этапом.
У Монокарпа есть $$$n$$$ задач, которые еще не решал ни один из его студентов. У $$$i$$$-й задачи есть тема $$$a_i$$$ (целое число от $$$1$$$ до $$$200\,000$$$) и сложность $$$b_i$$$ (целое число от $$$1$$$ до $$$200\,000$$$), причем все задачи попарно различны, то есть нет двух задач, у которых одинаковы и тема, и сложность.
Монокарп решил выбрать из $$$n$$$ задач ровно $$$3$$$ задачи для тренировки, при этом должно выполняться хотя бы одно из двух условий (возможно, оба):
Перед вами стоит задача определить количество способов, которыми Монокарп может выбрать три задачи для тренировки.
В первой строке следует целое число $$$n$$$ ($$$3 \le n \le 200\,000$$$) — количество задач, которые есть у Монокарпа.
В $$$i$$$-й из следующих $$$n$$$ строк следуют по два целых числа $$$a_i$$$ и $$$b_i$$$ ($$$1 \le a_i, b_i \le 200\,000$$$) — тема и сложность $$$i$$$-й задачи.
Гарантируется, что нет двух задач, у которых одинаковы и тема, и сложность.
Выведите количество способов выбрать три задачи для тренировки, которые удовлетворяют описанным в условии требованиям.
4 2 4 3 4 2 1 1 5
3
5 1 5 2 4 3 3 4 2 5 1
10
В первом примере можно взять следующие наборы по три задачи:
Таким образом, количество способов равно трем.