/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
// your code goes here
Scanner sc
= new Scanner
(System.
in); int n = sc.nextInt();
int e = sc.nextInt();
ArrayList<ArrayList<Integer>> graph = new ArrayList<>();
for (int i = 0; i <=n; i++) {
graph.add(new ArrayList<>());
}
for (int i = 1; i <= e; i++) {
int u = sc.nextInt();
int v = sc.nextInt();
graph.get(u).add(v);
graph.get(v).add(u);
}
// BFS
Queue<Integer> q=new LinkedList<>();
int [] visited = new int [n+1];
int node=sc.nextInt();
int []level=new int [n+5];
level[1]=0;
int [] ways=new int[n+5];
ways[1]=1;
q.add(1);
visited[1]=1;
while(!q.isEmpty()){
int removed=q.poll();
for(int u : graph.get(removed)){
if(visited[u]==0){
q.add(u);
visited[u]=1;
level[u]=level[removed]+1;
ways[u]=ways[removed];
}else{
if(level[removed]+1==level[u]){
ways[u]+=ways[removed];
}
}
}
}
System.
out.
println(ways
[node
]); sc.close();
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKICAgICAgICBTY2FubmVyIHNjID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKICAgICAgICBpbnQgbiA9IHNjLm5leHRJbnQoKTsKICAgICAgICBpbnQgZSA9IHNjLm5leHRJbnQoKTsKIAogICAgICAgIEFycmF5TGlzdDxBcnJheUxpc3Q8SW50ZWdlcj4+IGdyYXBoID0gbmV3IEFycmF5TGlzdDw+KCk7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPD1uOyBpKyspIHsKICAgICAgICAgICAgZ3JhcGguYWRkKG5ldyBBcnJheUxpc3Q8PigpKTsKICAgICAgICB9CiAKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSBlOyBpKyspIHsKICAgICAgICAgICAgaW50IHUgPSBzYy5uZXh0SW50KCk7CiAgICAgICAgICAgIGludCB2ID0gc2MubmV4dEludCgpOwogICAgICAgICAgICBncmFwaC5nZXQodSkuYWRkKHYpOwogICAgICAgICAgICBncmFwaC5nZXQodikuYWRkKHUpOwogICAgICAgIH0KIAogICAgICAgIC8vIEJGUwogICAgICAgIFF1ZXVlPEludGVnZXI+IHE9bmV3IExpbmtlZExpc3Q8PigpOwogICAgICAgIGludCBbXSB2aXNpdGVkID0gbmV3IGludCBbbisxXTsKICAgICAgICBpbnQgbm9kZT1zYy5uZXh0SW50KCk7CiAgICAgICAgaW50IFtdbGV2ZWw9bmV3IGludCBbbis1XTsKICAgICAgICBsZXZlbFsxXT0wOwogICAgICAgIGludCBbXSB3YXlzPW5ldyBpbnRbbis1XTsKICAgICAgICB3YXlzWzFdPTE7CiAgICAgICAgcS5hZGQoMSk7CiAgICAgICAgdmlzaXRlZFsxXT0xOwogICAgICAgIHdoaWxlKCFxLmlzRW1wdHkoKSl7CiAgICAgICAgICAgIGludCByZW1vdmVkPXEucG9sbCgpOwogICAgICAgICAgICAKICAgICAgICAgICAgZm9yKGludCB1IDogZ3JhcGguZ2V0KHJlbW92ZWQpKXsKICAgICAgICAgICAgICAgIGlmKHZpc2l0ZWRbdV09PTApewogICAgICAgICAgICAgICAgICAgIHEuYWRkKHUpOwogICAgICAgICAgICAgICAgICAgIHZpc2l0ZWRbdV09MTsKICAgICAgICAgICAgICAgICAgICBsZXZlbFt1XT1sZXZlbFtyZW1vdmVkXSsxOwogICAgICAgICAgICAgICAgICAgIHdheXNbdV09d2F5c1tyZW1vdmVkXTsKICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgIGlmKGxldmVsW3JlbW92ZWRdKzE9PWxldmVsW3VdKXsKICAgICAgICAgICAgICAgICAgICAgICAgd2F5c1t1XSs9d2F5c1tyZW1vdmVkXTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKHdheXNbbm9kZV0pOwogICAgICAgIHNjLmNsb3NlKCk7Cgl9Cn0=