package test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.PriorityQueue;
import java.util.StringTokenizer;
public class BaekJoonQ1916_P324_Q57 {
static class Node implements Comparable<Node>{
int node;
int value;
public Node(int node, int value) {
this.node=node;
this.value=value;
}
@Override
public int compareTo(Node n) {
// TODO Auto-generated method stub
return this.value-n.value;
}
}
static ArrayList<Node>[] list;
static int INF=Integer.MAX_VALUE >> 2;
private static int dijkstra(int node, int startNode, int goalNode) {
// TODO Auto-generated method stub
int dist[] =new int[node+1];
Arrays.fill(dist, INF);
dist[startNode] = 0 ;
PriorityQueue<Node> qu = new PriorityQueue<>();
qu.add(new Node(startNode,0));
while(!qu.isEmpty()) {
Node crnt = qu.poll();
if (dist[crnt.node] < crnt.value) continue;
for(Node next : list[crnt.node]) {
if(dist[next.node] > dist[crnt.node] + next.value) {
dist[next.node] =dist[crnt.node] + next.value;
qu.add(new Node(next.node, dist[next.node]));
}
}
}
return dist[goalNode];
}
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw =new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int node = Integer.parseInt(br.readLine());
int edge= Integer.parseInt(br.readLine());
list =new ArrayList[node+1];
for(int i =1;i<list.length;i++) {
list[i] = new ArrayList<>();
}
for(int i=0;i<edge;i++) {
st =new StringTokenizer(br.readLine());
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int v = Integer.parseInt(st.nextToken());
list[a].add(new Node(b,v));
}
st =new StringTokenizer(br.readLine());
int startNode=Integer.parseInt(st.nextToken());
int goalNode=Integer.parseInt(st.nextToken());
int result = dijkstra(node, startNode, goalNode);
bw.write(Integer.toString(result));
bw.flush();
}
}