using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PetljaTakmicenje
{
    class Program
    {


        static void Santa(SortedSet<int> s, List<int>[] a, bool[] t, bool r, int x, int y, int b)
        {
            foreach (int i in a[x])
            {
                if (r != t[x + i])
                {
                    b++;
                }
                if (i == y)
                {
                    s.Add(b);
                }
                else
                {
                    Santa(s, a, t, t[x + i], i, y, b);
                }
            }
        }

        static void Main(string[] args)
        {
            var r = new SortedSet<int>();
            string[] s = Console.ReadLine().Split();
            int x, y, n = int.Parse(s[0]), m = int.Parse(s[1]);
            bool[] t = new bool[400010];
            List<int>[] a = new List<int>[n];
            for (int i = 0; i < n; i++)
            {
                a[i] = new List<int>();
            }
            for (int i = 0; i < m; i++)
            {
                s = Console.ReadLine().Split();
                x = int.Parse(s[0]) - 1;
                y = int.Parse(s[1]) - 1;
                a[x].Add(y);
                t[x + y] = (int.Parse(s[2]) == 0) ? false : true;
            }
            s = Console.ReadLine().Split();
            x = int.Parse(s[0]) - 1;
            y = int.Parse(s[1]) - 1;
            Santa(r, a, t, false, x, y, 0);
            if (r.Count == 0)
            {
                Console.WriteLine(-1);
            }
            else
            {
                Console.WriteLine(r.Min);
            }
        }
    }
}