G. Тренировка
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Монокарп тренер команд Берляндского ГУ по программированию. Он решил собрать тренировку для своих команд перед квалификационным этапом.

У Монокарпа есть $$$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
Примечание

В первом примере можно взять следующие наборы по три задачи:

  • задачи с номерами $$$1$$$, $$$2$$$, $$$4$$$;
  • задачи с номерами $$$1$$$, $$$3$$$, $$$4$$$;
  • задачи с номерами $$$2$$$, $$$3$$$, $$$4$$$.

Таким образом, количество способов равно трем.