// warm heart, wagging tail,and a smile just for you!
//                                                                     ███████████
//                                                                   ███╬╬╬╬╬╬╬╬╬╬███
//                                                                ███╬╬╬╬╬████╬╬╬╬╬╬███
//                                            ███████████       ██╬╬╬╬╬████╬╬████╬╬╬╬╬██
//                                      █████████╬╬╬╬╬████████████╬╬╬╬╬██╬╬╬╬╬╬███╬╬╬╬╬██
//                               ████████╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬█████████╬╬╬╬╬╬██╬╬╬╬╬╬╬██
//                             ████╬██╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬█████████╬╬╬╬╬╬╬╬╬╬╬██
//                           ███╬╬╬█╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬██╬╬███╬╬╬╬╬╬╬█████
//                         ███╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬██╬╬╬████████╬╬╬╬╬██
//                       ███╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬███╬╬╬╬╬╬╬╬╬███
//                     ███╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬█████╬╬╬╬╬╬╬██
//                 ████╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬████╬╬╬╬╬████
//     █████████████╬╬╬╬╬╬╬╬██╬╬╬╬╬████╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬█████╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬███╬╬╬╬██████
//   ████╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬██╬╬██████╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬██████╬╬╬╬╬╬╬███████████╬╬╬╬╬╬╬╬██╬╬╬██╬╬╬██
// ███╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬██╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬██╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬████╬╬╬╬╬╬╬╬╬╬╬█╬╬╬╬╬╬╬██╬╬╬╬╬╬╬╬██
// ██╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬██╬╬╬╬▓▓▓▓▓▓╬╬╬████╬╬████╬╬╬╬╬╬╬▓▓▓▓▓▓▓▓██╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬██╬╬╬╬╬╬╬███
// ██╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬██████▓▓▓▓▓▓▓╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬▓▓▓▓▓▓▓██╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬██╬╬╬╬█████
// ███╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬███╬╬╬╬╬██╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬█████╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬████████
//   ███╬╬╬╬╬╬╬╬╬╬╬╬╬█████╬╬╬╬╬╬╬╬██╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬███╬╬██╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬██
//       ██████████████  ████╬╬╬╬╬╬███████████████████████████╬╬╬╬╬██╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬████
//                         ███████                           █████  ███████████████████  
//
#include "bits/stdc++.h"
using namespace std;
#define INF (1<<30)
#define LINF (1LL<<60)
#define fs first
#define sc second
#define int long long
#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define RFOR(i,a,b) for(int i = (b-1);i>=(a);--i)
#define REP(i,n)  FOR(i,0,(n))
#define RREP(i,n) RFOR(i,0,(n))
#define ITR(itr,mp) for(auto itr = (mp).begin(); itr != (mp).end(); ++itr)
#define RITR(itr,mp) for(auto itr = (mp).rbegin(); itr != (mp).rend(); ++itr)
#define range(i,a,b) ((a)<=(i) && (i)<(b))
#define debug(x)  cout << #x << " = " << (x) << endl
#define SP << " " << 
template<typename T1,typename T2> inline void chmin(T1 &a,T2 b){if(a>b) a=b;}
template<typename T1,typename T2> inline void chmax(T1 &a,T2 b){if(a<b) a=b;}
#define MSB(x) (63-__builtin_clzll(x))
#define pcnt(x) (__builtin_popcountll(x))
#define parity(i,j) (i&(1LL<<j))
typedef pair<int,int> P;
typedef tuple<int,int,int> T;
typedef vector<int> vec;
typedef vector<vector<int>> mat;

template<typename T>
vector<T> compress(vector<T> v){
  sort(v.begin(),v.end());
  v.erase(unique(v.begin(),v.end()),v.end());
  return v;
}

template<typename T>
map<T, int> dict(const vector<T> &v){
  map<T, int> res;
  for(int i=0;i<(int)v.size();i++)
    res[v[i]]=i;
  return res;
}

signed main(){
  ios::sync_with_stdio(false);
  cin.tie(0);

  int n,x,y;
  cin >> n >> x >> y;
  x--; y--;

  vector<P> a(n);
  vec b;
  set<P> f;
  REP(i,n){
    int u,v;
    cin >> u >> v;
    a[i] = P(u+v,u-v);
    b.push_back(u+v);
    b.push_back(u-v);
    f.insert(a[i]);
  }

  auto r = compress(b);
  auto v = dict(r);
  int m = v.size();

  int d = max(abs(a[x].fs-a[y].fs),abs(a[x].sc-a[y].sc));
  queue<P> que; que.push(a[x]);
  int ans = 0;

  set<int> s[m], t[m];
  vec ss[m], tt[m];
  REP(i,n){
    ss[v[a[i].fs]].push_back(a[i].sc);
    tt[v[a[i].sc]].push_back(a[i].fs);
    if(i==x) continue;
    s[v[a[i].fs]].insert(a[i].sc);
    t[v[a[i].sc]].insert(a[i].fs);
  }

  REP(i,m) sort(ss[i].begin(),ss[i].end()), sort(tt[i].begin(),tt[i].end());

  int dx[] = {1,-1,1,-1}, dy[] = {1,1,-1,-1};
  while(que.size()){
    int p = que.front().fs, q = que.front().sc; que.pop();
    if(v.count(p-d)){
      int i = v[p-d];
      for(auto itr = s[i].lower_bound(q-d); itr!=s[i].end()&&*itr<=q+d; itr=s[i].erase(itr)){
        que.push(P(p-d,*itr));
        t[v[*itr]].erase(t[v[*itr]].find(p-d));
      }
      ans += upper_bound(ss[i].begin(),ss[i].end(),q+d) - lower_bound(ss[i].begin(),ss[i].end(),q-d);
    }
    if(v.count(p+d)){
      int i = v[p+d];
      for(auto itr = s[i].lower_bound(q-d); itr!=s[i].end()&&*itr<=q+d; itr=s[i].erase(itr)){
        que.push(P(p+d,*itr)); 
        t[v[*itr]].erase(t[v[*itr]].find(p+d));
      }      
      ans += upper_bound(ss[i].begin(),ss[i].end(),q+d) - lower_bound(ss[i].begin(),ss[i].end(),q-d);
    }
    if(v.count(q-d)){
      int i = v[q-d];
      for(auto itr = t[i].lower_bound(p-d); itr!=t[i].end()&&*itr<=p+d; itr=t[i].erase(itr)){
        que.push(P(*itr,q-d));
        s[v[*itr]].erase(s[v[*itr]].find(q-d));
      }      
      ans += upper_bound(tt[i].begin(),tt[i].end(),p+d) - lower_bound(tt[i].begin(),tt[i].end(),p-d);
    }
    if(v.count(q+d)){
      int i = v[q+d];
      for(auto itr = t[i].lower_bound(p-d); itr!=t[i].end()&&*itr<=p+d; itr=t[i].erase(itr)){
        que.push(P(*itr,q+d)); 
        s[v[*itr]].erase(s[v[*itr]].find(q+d));
      }    
      ans += upper_bound(tt[i].begin(),tt[i].end(),p+d) - lower_bound(tt[i].begin(),tt[i].end(),p-d);
    }

    REP(z,4) if(f.find(P(p+d*dx[z],q+d*dy[z])) != f.end()) ans--;
    //debug(ans);
  }

  cout << ans/2 << endl;

  return 0;
}

Measured memory_bytes: 64040