/* Rozwiazanie wzorcowe do zadania ODC (Odcinki)
 * Autor: Jakub Radoszewski
 * Data: 20.01.2011
 */

#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;

#define M 300010

int n;

vector<pair<int, pair<int, int> > > t;

int main()
{
  scanf("%d",&n);
  for (int i=0; i<n; i++)
  {
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    t.push_back(make_pair(a,make_pair(b,1)));
    t.push_back(make_pair(a,make_pair(c,-1)));
  }
  sort(t.begin(), t.end());
  long long wyn=0;
  int akt=0;
  for (int i=0; i<(int)t.size(); i++)
  {
    if (t[i].second.second==1) { wyn+=akt; akt++; }
    else akt--;
  }
  printf("%lld\n",wyn);
  return 0;
}
