using System; using System.Collections; using System.Collections.Generic; class TEST{ static void Main(){ Sol mySol =new Sol(); mySol.Solve(); } } class Sol{ public void Solve(){ Gr=new int[14][][][]; for(int i=0;i<=13;i++){ Gr[i]=new int[14][][]; for(int j=0;j<=13;j++){ Gr[i][j]=new int[14][]; for(int k=0;k<=13;k++){ Gr[i][j][k]=new int[14]; } } } memo=new bool[14][][][]; for(int i=0;i<=13;i++){ memo[i]=new bool[14][][]; for(int j=0;j<=13;j++){ memo[i][j]=new bool[14][]; for(int k=0;k<=13;k++){ memo[i][j][k]=new bool[14]; } } } Gr[0][0][0][0]=0; memo[0][0][0][0]=true; for(int i=0;i<=13;i++){ for(int j=0;j<=13;j++){ for(int k=0;k<=13;k++){ for(int l=0;l<=13;l++){ Gr[i][j][k][l]=dfs(i,j,k,l); } } } } Console.WriteLine(Gr[A[0]][A[1]][A[2]][A[3]]==0?"Jiro":"Taro"); } int[][][][] Gr; bool[][][][] memo; int dfs(int i,int j,int k,int l){ if(memo[i][j][k][l])return Gr[i][j][k][l]; HashSet H=new HashSet(); for(int t=1;t<=3;t++){ if(i-t>=0)H.Add(dfs(i-t,j,k,l)); if(j-t>=0)H.Add(dfs(i,j-t,k,l)); if(k-t>=0)H.Add(dfs(i,j,k-t,l)); if(l-t>=0)H.Add(dfs(i,j,k,l-t)); } int g=0; while(H.Contains(g))g++; memo[i][j][k][l]=true; return Gr[i][j][k][l]=g; } int[] A; public Sol(){ A=ria(); } static String rs(){return Console.ReadLine();} static int ri(){return int.Parse(Console.ReadLine());} static long rl(){return long.Parse(Console.ReadLine());} static double rd(){return double.Parse(Console.ReadLine());} static String[] rsa(){return Console.ReadLine().Split(' ');} static int[] ria(){return Array.ConvertAll(Console.ReadLine().Split(' '),e=>int.Parse(e));} static long[] rla(){return Array.ConvertAll(Console.ReadLine().Split(' '),e=>long.Parse(e));} static double[] rda(){return Array.ConvertAll(Console.ReadLine().Split(' '),e=>double.Parse(e));} }