#include <bits/stdc++.h>
using namespace std;
int n, m, niz1[200005], niz2[200005], niz3[200005], res[200005], promena[200005], x, y;
int main(){
    cin >> n >> m;
    promena[1]=0;
    for(int i=1; i<=m; i++){
        cin >> niz1[i] >> niz2[i] >> niz3[i];
    }
    cin >> x >> y;
    for(int i=1; i<=n; i++){
        res[i]=200005;
    }
    res[niz1[1]]=0;
    for(int i=1; i<=m; i++){
        if(promena[niz1[i]]!=niz3[i]){
            if(res[niz2[i]]>res[niz1[i]]+1){
                res[niz2[i]]=res[niz1[i]]+1;
                promena[niz2[i]]=niz3[i];
            }
        }
        else{
            if(res[niz2[i]]>res[niz1[i]]){
                res[niz2[i]]=res[niz1[i]];
            }
        }
    }
    cout << res[y]-res[x] << endl;
    return 0;
}