#include <iostream>
using namespace std;
#include<bits/stdc++.h>
//graph bfs
int main() {
// your code goes here
int n ; int m ;
cin>>n>>m;
vector<vector<int>>adj(n+1);
vector<bool>vis(n+1,false);
int level[n+1];
for(int i = 0 ; i < m ; i++){
int u ; int v ;
cin>>u>>v;
adj[u].push_back(v);
adj[v].push_back(u);
}
queue<int>q;
int src;int dest;
cin>>src>>dest;
int val[n+1];
for(int i = 1; i<=n;i++){
cin>>val[i];
}
q.push(src);
vis[src]=true;
level[src]=0; int count = 0 ;
int C[n+1]={0};
C[src]=1;
int max5[n+1]={0};
max5[src]=val[src];
while(!q.empty()){
int curr = q.front();
q.pop();
for(auto adjacent : adj[curr]){
if(!vis[adjacent]){
vis[adjacent]= true;
q.push(adjacent);
level[adjacent]=level[curr]+1;
}
if(level[adjacent]-level[curr]==1) {
max5[adjacent]= max(max5[adjacent],max5[curr]+val[adjacent]);
}
}
}
cout<<max5[dest]/5;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgovL2dyYXBoIGJmcwppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCWludCBuIDsgaW50IG0gOyAKCWNpbj4+bj4+bTsKCXZlY3Rvcjx2ZWN0b3I8aW50Pj5hZGoobisxKTsKICAgIHZlY3Rvcjxib29sPnZpcyhuKzEsZmFsc2UpOwogICAgaW50IGxldmVsW24rMV07Cglmb3IoaW50IGkgPSAwIDsgaSA8IG0gOyBpKyspewoJCWludCB1IDsgaW50IHYgOyAKCQljaW4+PnU+PnY7IAoJCWFkalt1XS5wdXNoX2JhY2sodik7CgkJYWRqW3ZdLnB1c2hfYmFjayh1KTsKCX0KCXF1ZXVlPGludD5xOwoJaW50IHNyYztpbnQgZGVzdDsKCWNpbj4+c3JjPj5kZXN0OwoJaW50IHZhbFtuKzFdOwoJZm9yKGludCBpID0gMTsgaTw9bjtpKyspewoJCWNpbj4+dmFsW2ldOwoJfQogICAgcS5wdXNoKHNyYyk7CiAgICB2aXNbc3JjXT10cnVlOwogICAgbGV2ZWxbc3JjXT0wOyBpbnQgY291bnQgPSAwIDsgCiAgICAKICAgIGludCBDW24rMV09ezB9OwogICAgQ1tzcmNdPTE7CiAgICBpbnQgbWF4NVtuKzFdPXswfTsKICAgIG1heDVbc3JjXT12YWxbc3JjXTsKCXdoaWxlKCFxLmVtcHR5KCkpewoJCWludCBjdXJyID0gcS5mcm9udCgpOwoJCXEucG9wKCk7CgkJCgkJZm9yKGF1dG8gYWRqYWNlbnQgOiBhZGpbY3Vycl0pewoJCQlpZighdmlzW2FkamFjZW50XSl7CgkJCQl2aXNbYWRqYWNlbnRdPSB0cnVlOwoJCQkJcS5wdXNoKGFkamFjZW50KTsKCQkJCWxldmVsW2FkamFjZW50XT1sZXZlbFtjdXJyXSsxOwoJCQl9CgkJCWlmKGxldmVsW2FkamFjZW50XS1sZXZlbFtjdXJyXT09MSkgewoJCQkJbWF4NVthZGphY2VudF09IG1heChtYXg1W2FkamFjZW50XSxtYXg1W2N1cnJdK3ZhbFthZGphY2VudF0pOwoJCQl9CgkJfQoJCQoJfQoJY291dDw8bWF4NVtkZXN0XS81OwoJCgkKCXJldHVybiAwOwp9