using System;
using System.Text;

namespace kv1
{
    class Program
    {
        static int laza;
        static int min_zbir = int.MaxValue;
        static bool postoji = false;
        static void Putanja(int[,] matrica_glavna, int it, int jt, int prethodni, int zbir)
        {
            if (it >= matrica_glavna.GetLength(0) || jt >= matrica_glavna.GetLength(1)) { return; }
            if (matrica_glavna[it, jt] == -1) Putanja(matrica_glavna, it, jt + 1, prethodni, zbir);

            else if (jt == laza - 1) 
            { 
                postoji = true; 
                zbir += Math.Abs(matrica_glavna[it, jt] - prethodni);
                min_zbir = Math.Min(min_zbir, zbir);
                return; 
            }

            else if (matrica_glavna[it, jt] == prethodni)
            {
               Putanja(matrica_glavna, jt, 0, prethodni, zbir);
               Putanja(matrica_glavna, it, jt + 1, prethodni, 0);
            }
            else if (matrica_glavna[it, jt] != prethodni)
            {
                zbir += 1;
                Putanja(matrica_glavna, jt, 0, matrica_glavna[it, jt], zbir);
                Putanja(matrica_glavna, it, jt + 1, prethodni, 0);

            }
        }
        static void Main(string[] args)
        {
            // 3. zadatak
            string[] red = Console.ReadLine().Split();
            int sante = Convert.ToInt32(red[0]);
            int putevi = Convert.ToInt32(red[1]);
            int[,] matrica_glavna = new int[sante, sante];
            // popunjavanje matrice sa -1
            for (int i = 0; i < matrica_glavna.GetLength(0); i++)
            {
                for (int j = 0; j < matrica_glavna.GetLength(1); j++)
                {
                    matrica_glavna[i, j] = -1;
                }
            }
            for (int i = 0; i < putevi; i++)
            {
                red = Console.ReadLine().Split();
                matrica_glavna[Convert.ToInt32(red[0]) - 1, Convert.ToInt32(red[1]) - 1] = Convert.ToInt32(red[2]);
            }
            red = Console.ReadLine().Split(); // mika i laza
            int it = Convert.ToInt32(red[0]) - 1; // mika
            laza = Convert.ToInt32(red[1]); // laza

            Putanja(matrica_glavna, it, 0, 0, 0);
            if (postoji) Console.WriteLine(min_zbir);
            else Console.WriteLine(-1);
        }
    }
}