#include <bits/stdc++.h>
using namespace std;
#define ll int
const int inf = INT_MAX;
const int MAXN = 1e5 + 7;
queue <int> q;
vector <int>a[MAXN];
int n, m, s, t, d_u[MAXN], d_v[MAXN], ans;
 
void bfs(int *dist, int s){
    q.push(s);
    fill(dist + 1, dist + 1 + n, inf);
    dist[s] = 0;
    while(!q.empty()){
        int u = q.front();
        q.pop();
        for(auto v : a[u]){
            if(dist[v] > dist[u] + 1){
                dist[v] = dist[u] + 1;
                q.push(v);
            }
        }
    }
}
 
 
int main(){
    ios_base::sync_with_stdio(0);
    cout.tie(0);
    cin.tie(0);
    cin >> n >> m >> s >> t;
    for(int i = 1; i <= m; i++){
        int x, y;
        cin >> x >> y;
        a[x].push_back(y);
        a[y].push_back(x);
    }
    bfs(d_u, s);
    bfs(d_v, t);
    for(int i = 1; i <= n; i++) if(d_u[i] <= d_v[i]) ans++;
    cout << ans;
}
				I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgaW50CmNvbnN0IGludCBpbmYgPSBJTlRfTUFYOwpjb25zdCBpbnQgTUFYTiA9IDFlNSArIDc7CnF1ZXVlIDxpbnQ+IHE7CnZlY3RvciA8aW50PmFbTUFYTl07CmludCBuLCBtLCBzLCB0LCBkX3VbTUFYTl0sIGRfdltNQVhOXSwgYW5zOwoKdm9pZCBiZnMoaW50ICpkaXN0LCBpbnQgcyl7CiAgICBxLnB1c2gocyk7CiAgICBmaWxsKGRpc3QgKyAxLCBkaXN0ICsgMSArIG4sIGluZik7CiAgICBkaXN0W3NdID0gMDsKICAgIHdoaWxlKCFxLmVtcHR5KCkpewogICAgICAgIGludCB1ID0gcS5mcm9udCgpOwogICAgICAgIHEucG9wKCk7CiAgICAgICAgZm9yKGF1dG8gdiA6IGFbdV0pewogICAgICAgICAgICBpZihkaXN0W3ZdID4gZGlzdFt1XSArIDEpewogICAgICAgICAgICAgICAgZGlzdFt2XSA9IGRpc3RbdV0gKyAxOwogICAgICAgICAgICAgICAgcS5wdXNoKHYpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgoKaW50IG1haW4oKXsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjb3V0LnRpZSgwKTsKICAgIGNpbi50aWUoMCk7CiAgICBjaW4gPj4gbiA+PiBtID4+IHMgPj4gdDsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbTsgaSsrKXsKICAgICAgICBpbnQgeCwgeTsKICAgICAgICBjaW4gPj4geCA+PiB5OwogICAgICAgIGFbeF0ucHVzaF9iYWNrKHkpOwogICAgICAgIGFbeV0ucHVzaF9iYWNrKHgpOwogICAgfQogICAgYmZzKGRfdSwgcyk7CiAgICBiZnMoZF92LCB0KTsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSBpZihkX3VbaV0gPD0gZF92W2ldKSBhbnMrKzsKICAgIGNvdXQgPDwgYW5zOwp9