QAQ
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,m,g[101][101],g1[101][101],p;
int main()
{
cin>>n>>m;
for(ll i=1;i<=n;i++)
{
for(ll j=1;j<=n;j++)g[i][j]=g1[i][j]=1e9;
g[i][i]=g1[i][i]=0;
}
for(ll i=1;i<=m;i++)
{
ll u,v,w;
cin>>u>>v>>w;
g[u][v]=g[v][u]=g1[u][v]=g1[v][u]=w;
}
for(ll k=1;k<=n;k++)
{
for(ll i=1;i<=n;i++)
{
for(ll j=1;j<=n;j++)g[i][j]=g[j][i]=g1[i][j]=g1[j][i]=min(g[i][j],g[i][k]+g[k][j]);
}
}
cin>>p;
while(p--)
{
ll u,v;
cin>>u>>v;
g1[u][v]=g1[v][u]=1e9;
}
ll x,y;
cin>>x>>y;
for(ll i=1;i<=n;i++)
{
g1[x][y]=min(g[x][i],g[x][y]);
}
cout<<g1[x][y];
}