#include <bits/stdc++.h>
using namespace std;
#ifndef M
#define M 1000000007
#endif
typedef long long ll;
typedef pair<ll,ll>pp;
typedef std::vector<pp> vpp;
#ifndef pb
#define pb push_back
#endif
int min(int x,int y){return(x<y)?x:y;}
int max(int x,int y){return(x>y)?x:y;}
int n=0;
char ch;
int a[2000005]={0},b[2000005]={0};
int main(int argc, char const *argv[])
{
int n,x,y;
scanf("%d",&n);
while(n--)
{
scanf("%d %d",&x,&y);
int z=x+y;
a[z]++;
if(x>=y)
b[x-y]++;
else
b[1000000+(y-x)]++;
}
ll k=0;
for(int i=0;i<=2000002;i++)
{
if(a[i]>0)
{
ll z=a[i];
z*=a[i]-1;
z/=2;
k+=z;
}
if(b[i]>0)
{
ll z=b[i];
z*=b[i]-1;
z/=2;
k+=z;
}
}
printf("%lld\n",k );
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiAgICB1c2luZyBuYW1lc3BhY2Ugc3RkOwogICAgI2lmbmRlZiBNCiAgICAjZGVmaW5lIE0gMTAwMDAwMDAwNwogICAgI2VuZGlmCiAgICAgCiAgICB0eXBlZGVmIGxvbmcgbG9uZyBsbDsKICAgIHR5cGVkZWYgcGFpcjxsbCxsbD5wcDsKICAgIHR5cGVkZWYgc3RkOjp2ZWN0b3I8cHA+IHZwcDsKICAgICNpZm5kZWYgcGIKICAgICNkZWZpbmUgcGIgcHVzaF9iYWNrIAogICAgI2VuZGlmIAogICAgaW50IG1pbihpbnQgeCxpbnQgeSl7cmV0dXJuKHg8eSk/eDp5O30KICAgIGludCBtYXgoaW50IHgsaW50IHkpe3JldHVybih4PnkpP3g6eTt9CiAgICBpbnQgbj0wOwogICAgY2hhciBjaDsKICAgIGludCBhWzIwMDAwMDVdPXswfSxiWzIwMDAwMDVdPXswfTsKICAgIGludCBtYWluKGludCBhcmdjLCBjaGFyIGNvbnN0ICphcmd2W10pCiAgICB7CiAgICAJaW50IG4seCx5OwogICAgCXNjYW5mKCIlZCIsJm4pOwogICAgCXdoaWxlKG4tLSkKICAgIAl7CiAgICAJCXNjYW5mKCIlZCAlZCIsJngsJnkpOwogICAgCQlpbnQgej14K3k7CiAgICAJCWFbel0rKzsKICAgIAkJaWYoeD49eSkKICAgIAkJCWJbeC15XSsrOwogICAgCQllbHNlCiAgICAJCQliWzEwMDAwMDArKHkteCldKys7CiAgICAJfQogICAgCWxsIGs9MDsKICAgIAlmb3IoaW50IGk9MDtpPD0yMDAwMDAyO2krKykKICAgIAl7CiAgICAJCWlmKGFbaV0+MCkKICAgIAkJewogICAgCQkJbGwgej1hW2ldOwogICAgCQkJeio9YVtpXS0xOwogICAgCQkJei89MjsKICAgIAkJCWsrPXo7CiAgICAJCX0KICAgIAkJaWYoYltpXT4wKQogICAgCQl7CiAgICAJCQlsbCB6PWJbaV07CiAgICAJCQl6Kj1iW2ldLTE7CiAgICAJCQl6Lz0yOwogICAgCQkJays9ejsKICAgIAkJfQogICAgCX0KICAgIAlwcmludGYoIiVsbGRcbiIsayApOwogICAgCXJldHVybiAwOwogICAgfQ==