func_code_string: #include <bits/stdc++.h>   using namespace std;   const int INF = numeric_limits<int>::max();   const long long LLINF = numeric_limits<long long>::max();   const unsigned long long ULLINF = numeric_limits<unsigned long long>::max();   long long f[1010][1010];   int main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     int n;     cin >> n;     for (int i = 0; i < n; i++) {       long long x, y;       cin >> x >> y;       x--, y--;       f[y][x]++;     }     long long ans = 0;     for (int i = 0; i < 1000; i++) {       long long cur = 0;       for (int j = 0; j + i < 1000; j++) {         cur += f[j][i + j];       }       ans += (cur - 1) * cur / 2ll;       cur = 0;       if (i > 0) {         for (int j = 0; j + i < 1000; j++) {           cur += f[i + j][j];         }         ans += (cur - 1) * cur / 2ll;       }     }     for (int i = 0; i < 1000; i++) {       long long cur = 0;       for (int j = 0; j <= i; j++) {         cur += f[j][i - j];       }       ans += (cur - 1) * cur / 2ll;       cur = 0;       if (i > 0) {         for (int j = 0; j + i < 1000; j++) {           cur += f[i + j][1000 - j - 1];         }         ans += (cur - 1) * cur / 2ll;       }     }     cout << ans;     return 0;   }   