#include<bits/stdc++.h>
using namespace std;
#define reg register
int n,k,m,s,t,c[101],a[101][3],g[101][101],h[101][101]={999999999};
int main(){
/*freopen("culture.in","r",stdin);
freopen("culture.out","w",stdout);*/
scanf("%d%d%d%d%d",&n,&k,&m,&s,&t);
for (reg int i=1;i<=n;i++) scanf("%d",&c[i]);
for (reg int i=1;i<=k;i++)
for (int j=1;j<=2;j++) scanf("%d",&a[i][j]);
for (reg int i=1;i<=m;i++) {
int u,v,d;
scanf("%d%d%d",&u,&v,&d);
if (g[c[v]][c[u]]==0 && c[v]!=c[u]) h[u][v]=min(h[u][v],d);
if (g[c[u]][c[v]]==0 && c[v]!=c[u]) h[v][u]=min(h[v][u],d);
}
if (c[s]==c[t]) {
printf("-1");
return 0;
}
for (reg int i=1;i<=n;i++)
for (reg int j=1;j<=n;j++)
for (reg int p=1;p<=n;p++)
if (h[i][j]>h[i][p]+h[p][j])
h[i][j]=h[i][p]+h[p][j];
if (h[s][t]=999999999) printf("-1");
else printf("%d",h[s][t]);
return 0;
}