#include<bits/stdc++.h>
#define rep(i, l, r) for(int i = (l), i##end = (r);i <= i##end;++i)
using std::cin; using std::cout;
const int maxn = 200200;
typedef long long ll;
const int mod = 998244353;
inline ll pow(ll a,int b,int ans = 1) {
	for(;b;b >>= 1,a = a * a % mod) if(b & 1)
		ans = ans * a % mod;
	return ans;
}
inline ll inverse(int x){ return pow(x, mod - 2); }
int a[maxn], b[maxn];
int x[maxn], y[maxn];
int n, A, B, d;
typedef std::set<int> set;
typedef std::vector<int> vec;
std::unordered_map<int, set> mp0, mp1;
std::unordered_map<int, vec> map0, map1;
inline long long pr(int x,int y) { return (ll) x << 32 | (unsigned) y; }
std::unordered_map<long long, int> map;
std::queue<int> q;
inline void ins(int i) { q.push(i); mp0[x[i]].erase(y[i]); mp1[y[i]].erase(x[i]); }
ll ans = 0;
inline void popx(set & x,vec & v,int l,int r, int ix) {
	if(l <= r) {
		std::vector<int> numbers(x.lower_bound(l), x.upper_bound(r));
		ans += std::upper_bound(v.begin(), v.end(), r) - std::lower_bound(v.begin(), v.end(), l);
		for(int i : numbers) ins(map[pr(ix, i)]);
	}
}
inline void popy(set & x,vec & v,int l,int r,int iy) {
	if(l <= r) {
		std::vector<int> numbers(x.lower_bound(l), x.upper_bound(r));
		ans += std::upper_bound(v.begin(), v.end(), r) - std::lower_bound(v.begin(), v.end(), l);
		for(int i : numbers) ins(map[pr(i, iy)]);
	}
}
int main() {
	std::ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
	mp0.rehash(1e6 + 7), mp1.rehash(1e6 + 7);
	map0.rehash(1e6 + 7), map1.rehash(1e6 + 7);
	map.rehash(1e6 + 7);
	cin >> n >> A >> B;
	rep(i, 1, n) cin >> a[i] >> b[i];
	d = std::abs(a[A] - a[B]) + std::abs(b[A] - b[B]);
	rep(i, 1, n) {
		x[i] = a[i] + b[i];
		y[i] = a[i] - b[i];
		mp0[x[i]].insert(y[i]);
		mp1[y[i]].insert(x[i]);
		map0[x[i]].push_back(y[i]);
		map1[y[i]].push_back(x[i]);
		map[pr(x[i], y[i])] = i;
	}
	for(auto& i : map0) std::sort(i.second.begin(), i.second.end());
	for(auto& i : map1) std::sort(i.second.begin(), i.second.end());
	ins(A), ins(B);
	for(;!q.empty();) {
		int i = q.front(); q.pop();
		popx(mp0[x[i] - d], map0[x[i] - d], y[i] - d + 1, y[i] + d - 1, x[i] - d);
		popx(mp0[x[i] + d], map0[x[i] + d], y[i] - d + 1, y[i] + d - 1, x[i] + d);
		popy(mp1[y[i] - d], map1[y[i] - d], x[i] - d, x[i] + d, y[i] - d);
		popy(mp1[y[i] + d], map1[y[i] + d], x[i] - d, x[i] + d, y[i] + d);
	}
	cout << ans / 2 << '\n';
}
