#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;



bool cmp(pair<int,int>&a,pair<int,int>&b){
  if(a.first == b.first)
    return a.second < b.second;
  return a.first< b.first;
}

bool unutra(vector<pair<int,int>> tacke,int i,int j,pair<int,int>query){


    if(tacke[i].first>0  || tacke[i].second<0)
     return true;
    if(tacke[j].first<0  || tacke[j].second>0)
     return true;
 return false;
}

int main()
{
    int n;
    cin>>n;
    vector<pair<int,int>>tacke(n);
     for(int i=1;i<=n;i++)
    cin>>tacke[i].first>>tacke[i].second;
 sort(tacke.begin(),tacke.end(),cmp);
   int brojac=0;
   pair<int,int> query={0,0};
    for(int i=1;i<=n;i++)
    {
        for(int j=i+1;j<=n;j++)
         if(unutra(tacke,i,j,query))
          brojac++;

    }
 cout<<brojac+3<<endl;
    return 0;
}