#include<iostream>
#include<cstring>
using namespace std;
int main(){
    int n,m,s,f,c=-1;
    cin>>n>>m;
    bool a[n][n][2],h,e=1;
    int v[n],nv[n];
    memset(a,0,sizeof(a));
    memset(v,0,sizeof(v));
    for(int i=0;i<m;i++){
        cin>>s>>f>>h;
        a[s-1][f-1][h]=1;
    }
    cin>>s>>f;
    s--;f--;
    h=1;v[s]=1;
    while(!v[f]&&e){
        h=!h;
        c++;
        e=0;
        for(int i=0;i<n;i++)
            nv[i]=v[i];
        for(int i=0;i<n;i++)
            if(v[i]==1||v[i]==2+h){
                e=1;
                nv[i]=(v[i]==1)?(2+!h):4;
                for(int j=0;j<n;j++)
                    if(a[i][j][h]&&!nv[j])
                        nv[j]=1;
            }
        for(int i=0;i<n;i++)
            v[i]=nv[i];
    }
    cout<<(e?c:-1)<<endl;
    return 0;}