using System;

namespace ConsoleApp61
{
    class Program
    {

       


        public static int kolone = 0;
        static int Sante(int poc_tren, int kraj, int[,] matrica, int stanje, int brojstanja, int prethodnostanje,int brojac,int brojpromene)
        {
         
            if(brojac==kolone)
            {
                return 1000000000;
            }
            if (matrica[brojac, 1] == kraj)
            {
                stanje = matrica[brojac, 2];


                if (prethodnostanje == stanje && stanje == 0)
                {
                   
                    prethodnostanje = stanje;

                }
                else
                if(prethodnostanje == stanje)
                {
                    prethodnostanje = 0;
                    brojstanja++;
                }
                    else
                {
                    brojpromene = 4;

                    brojstanja++;
                    stanje = prethodnostanje;
                    prethodnostanje = 0;
                }
               
                    return brojstanja;
            }

            if (poc_tren!=matrica[brojac,0])
            {
                return Sante(poc_tren, kraj, matrica, stanje, brojstanja, prethodnostanje, brojac + 1,brojpromene);
            }
            else
            {
               

                stanje = matrica[brojac, 2];
               

                if (prethodnostanje == stanje&& stanje==0)
                {
                    brojpromene = prethodnostanje;
                    prethodnostanje = stanje;
                    
                }
                else if (prethodnostanje == stanje)
                {
                    brojpromene = 3;
                    stanje = prethodnostanje;
                    prethodnostanje = 0;
                    brojstanja++;
                }
                else
                {
                    brojpromene = 4;

                    brojstanja++;
                    prethodnostanje = stanje;
                    
                }


             
              
                    if (brojpromene != 4)
                    {
                        return Math.Max(Sante(matrica[brojac, 1], kraj, matrica, 0, brojstanja, prethodnostanje, brojac, brojpromene), Sante(poc_tren, kraj, matrica, 0, brojstanja, 0, brojac + 1, 0));
                    }
                    else
                    {
                      if(brojpromene==4)
                        return Math.Max(Sante(matrica[brojac, 1], kraj, matrica, 0, brojstanja, prethodnostanje, brojac, brojpromene), Sante(poc_tren, kraj, matrica, 0, --brojstanja, stanje, brojac + 1, brojpromene));
                else
                        return Math.Max(Sante(matrica[brojac, 1], kraj, matrica, 0, brojstanja, 0, brojac, brojpromene), Sante(poc_tren, kraj, matrica, 0, --brojstanja, stanje, brojac + 1, brojpromene));
                }             
             }

            
            





        }
        static void Main(string[] args)
        {
            string e = Console.ReadLine();
            string[] e1 = e.Split(' ');
            int N = int.Parse(e1[0]);
            int M = int.Parse(e1[1]);
            kolone = M;
            int brojstanja = 0;
            int stanje =0;
            string linija;
            string[] linijaSplit;
            int[,] matrica = new int[M, 3];

            for (int i = 0; i < M; i++)
            {
linija= Console.ReadLine();
                linijaSplit = linija.Split(' ');
                matrica[i, 0] = int.Parse(linijaSplit[0]);
                matrica[i,1] = int.Parse(linijaSplit[1]);
                matrica[i,2] = int.Parse(linijaSplit[2]);

            }
            string e12 = Console.ReadLine();
            string[] e13 = e12.Split(' ');
            int poc = int.Parse(e13[0]);               //
            int kraj = int.Parse(e13[1]);                //
            Console.WriteLine(Sante(poc,kraj,matrica,0,0,0,0,0));

        }
    }
}