#include<bits/stdc++.h>
typedef long long int ll;
typedef long double ld;
#define fast ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)
#define enddl '\n'
#define ff first
#define ss second
#define pb push_back
#define mp make_pair
#define pii pair<int,int>
#define full(a) a.begin(),a.end()
#define mem(a,x) memset(a,x,sizeof(a))
const int MAXN = 2*1e5+5;
const int MOD = 1e9+7;
using namespace std;
vector<int> v[MAXN];
int dp[MAXN];
int s , n , m;
int main() {
cin >> s >> n >> m;
for(int i=0;i<MAXN;i++) dp[i] = 1e8;
while(m--) {
int x,y;
cin >> x >> y;
v[x].pb(y);
v[y].pb(x);
}
dp[n] = 0;
priority_queue<pii,vector<pii>,greater<pii> > q;
q.push({0,n});
while(!q.empty()) {
pii x = q.top();
q.pop();
for(auto next : v[x.second]) {
if(dp[next] > dp[x.second] + 1) {
dp[next] = dp[x.second] + 1;
q.push({dp[next] , next});
}
}
}
map<int,int> m;
for(int i=1;i<=s;i++) {
m[dp[i]]++;
}
assert(m.size() > 0);
auto hmm = m.rbegin();
cout << hmm->second << endl;
}
ICAgICNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CiAgICAgCiAgICB0eXBlZGVmIGxvbmcgbG9uZyBpbnQgbGw7CiAgICB0eXBlZGVmIGxvbmcgZG91YmxlIGxkOwogICAgIAogICAgI2RlZmluZSBmYXN0IGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgY2luLnRpZShOVUxMKTsgY291dC50aWUoTlVMTCkKICAgICNkZWZpbmUgZW5kZGwgJ1xuJwogICAgI2RlZmluZSBmZiBmaXJzdAogICAgI2RlZmluZSBzcyBzZWNvbmQKICAgICNkZWZpbmUgcGIgcHVzaF9iYWNrCiAgICAjZGVmaW5lIG1wIG1ha2VfcGFpcgogICAgI2RlZmluZSBwaWkgcGFpcjxpbnQsaW50PgogICAgI2RlZmluZSBmdWxsKGEpIGEuYmVnaW4oKSxhLmVuZCgpCiAgICAjZGVmaW5lIG1lbShhLHgpIG1lbXNldChhLHgsc2l6ZW9mKGEpKQogICAgIAogICAgY29uc3QgaW50IE1BWE4gPSAyKjFlNSs1OwogICAgY29uc3QgaW50IE1PRCA9IDFlOSs3OwogICAgIAogICAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKICAgICAKICAgIHZlY3RvcjxpbnQ+IHZbTUFYTl07CiAgICBpbnQgZHBbTUFYTl07CiAgICBpbnQgcyAsIG4gLCBtOwogICAgIAogICAgaW50IG1haW4oKSB7CiAgICAJY2luID4+IHMgPj4gbiA+PiBtOyAKICAgIAlmb3IoaW50IGk9MDtpPE1BWE47aSsrKSBkcFtpXSA9IDFlODsKICAgIAl3aGlsZShtLS0pIHsKICAgIAkJaW50IHgseTsKICAgIAkJY2luID4+IHggPj4geTsKICAgIAkJdlt4XS5wYih5KTsKICAgIAkJdlt5XS5wYih4KTsKICAgIAl9CiAgICAJZHBbbl0gPSAwOwogICAgCXByaW9yaXR5X3F1ZXVlPHBpaSx2ZWN0b3I8cGlpPixncmVhdGVyPHBpaT4gPiBxOwogICAgCXEucHVzaCh7MCxufSk7CiAgICAJd2hpbGUoIXEuZW1wdHkoKSkgewogICAgCQlwaWkgeCA9IHEudG9wKCk7CiAgICAJCXEucG9wKCk7CiAgICAJCWZvcihhdXRvIG5leHQgOiB2W3guc2Vjb25kXSkgewogICAgCQkJaWYoZHBbbmV4dF0gPiBkcFt4LnNlY29uZF0gKyAxKSB7CiAgICAJCQkJZHBbbmV4dF0gPSBkcFt4LnNlY29uZF0gKyAxOwogICAgCQkJCXEucHVzaCh7ZHBbbmV4dF0gLCBuZXh0fSk7CiAgICAJCQl9CiAgICAJCX0KICAgIAl9IAogICAgCW1hcDxpbnQsaW50PiBtOwogICAgCWZvcihpbnQgaT0xO2k8PXM7aSsrKSB7CiAgICAJCW1bZHBbaV1dKys7CiAgICAJfQogICAgCWFzc2VydChtLnNpemUoKSA+IDApOwogICAgCWF1dG8gaG1tID0gbS5yYmVnaW4oKTsKICAgIAljb3V0IDw8IGhtbS0+c2Vjb25kIDw8IGVuZGw7CiAgICAgCiAgICB9IA==