#include <bits/stdc++.h>
#pragma warning(disable : 4996)
using namespace std;
const double pi = acos(-1.0);
const double eps = 1e-5;
const int INF = 0x3f3f3f3f;
const long long INFLL = 0x3f3f3f3f3f3f3f3f;
struct TreeArray {
  long long sum[400010];
  void upd(int x, long long k) {
    for (int i = x; i <= 400000; i += (i & (-i))) sum[i] += k;
  }
  long long qry(int x) {
    long long res = 0;
    for (int i = x; i; i -= (i & (-i))) res += sum[i];
    return res;
  }
  long long qry(int l, int r) { return qry(r) - qry(l - 1); }
} tr;
vector<int> vhx;
vector<int> vhy;
map<int, int> _hashx;
map<int, int> _hashy;
pair<int, int> s[200010];
bool vis[200010];
bool cmp(const pair<long long, long long>& a,
         const pair<long long, long long>& b) {
  if (a.first == b.first) return a.second < b.second;
  return a.first > b.first;
}
int main() {
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  int n;
  cin >> n;
  for (int i = (1); i <= (n); i++) {
    cin >> s[i].second >> s[i].first;
    vhx.emplace_back(s[i].second);
    vhy.emplace_back(s[i].first);
  }
  sort(vhx.begin(), vhx.end());
  sort(vhy.begin(), vhy.end());
  int t = unique(vhx.begin(), vhx.end()) - vhx.begin();
  while ((int)vhx.size() > t) vhx.pop_back();
  t = unique(vhy.begin(), vhy.end()) - vhy.begin();
  while ((int)vhy.size() > t) vhy.pop_back();
  for (int i = (0); i <= ((int)vhx.size() - 1); i++) _hashx[vhx[i]] = i + 1;
  for (int i = (0); i <= ((int)vhy.size() - 1); i++) _hashy[vhy[i]] = i + 1;
  for (int i = (1); i <= (n); i++)
    s[i].second = _hashx[s[i].second], s[i].first = _hashy[s[i].first];
  sort(s + 1, s + 1 + n, cmp);
  long long ans = 0;
  for (int i = (1); i <= (n); i++) {
    if (!vis[s[i].second]) {
      tr.upd(s[i].second, 1);
      vis[s[i].second] = true;
    }
    if (s[i].first == s[i + 1].first) continue;
    int p = i;
    while (p > 1 && s[p - 1].first == s[p].first) p--;
    int nowh = 1;
    for (int j = (p); j <= (i); j++) {
      ans += tr.qry(s[j].second, n) * tr.qry(nowh, s[j].second);
      nowh = s[j].second + 1;
    }
  }
  cout << ans;
}
