import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Random;
import java.util.Scanner;


public class Random_Disagreement {

	public static void main(String[] args) {		
		
		long to_finetune = (long) 6e7; // this runs in 1.4s < 2s on DJ server.
		
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt(); int A = sc.nextInt(); int B = sc.nextInt();
		
		int[] left = new int[n]; int[] right = new int[n]; Boolean[] pisa = new Boolean[n];
		
		for(int i = 0; i < n; i++)
		{
			int l = sc.nextInt(); int r = sc.nextInt(); int t = sc.nextInt();
			left[i] = l; right[i] = r; pisa[i] = (t==1);
		}
		
		Random r = new Random();
		
		int minfound = n;
		
		
		for(int i = 0; i < to_finetune / n; i++)
		{
			int curA = A, curB = B;
			for(int j = 0; j < minfound; j++)
			{
				if(pisa[curA] != pisa[curB])
					minfound = j;
				Boolean next_left = r.nextBoolean();
				if(next_left) 
				{
					curA = left[curA]; curB = left[curB];
				}
				else
				{
					curA = right[curA]; curB = right[curB];
				}
			}
		}
		if(minfound < n) System.out.println(minfound);
		else System.out.println("indistinguishable");
	}

}
