~cpp
#include <iostream>
#include <algorithm>
using namespace std;
struct Poker {
	int number;
	char color;
};
Poker black[6];
Poker white[6];
////// 비길경우 비교를 위해 
Poker blackPair[5];
Poker whitePair[5];
int i;
char temp[255];
////////////////////////////// 소팅 ////////////////////////////////////
bool compare(Poker a, Poker b)
{
	return a.number>b.number;
}
/////////////////////////////// 입 력 //////////////////////////////////
bool input()
{
	temp[28]=NULL;
	cin.getline(temp, 255);
	for(i=0; i<10; i++)
	{
		if(temp[28]==NULL)
			return false;
		if(i<5)
		{
			if(temp[3*i]=='T')
				black[i].number = 10;
			else if(temp[3*i]=='J')
				black[i].number = 11;
			else if(temp[3*i]=='Q')
				black[i].number = 12;
			else if(temp[3*i]=='K')
				black[i].number = 13;
			else if(temp[3*i]=='A')
				black[i].number = 14;
			else
				black[i].number = temp[3*i]-48;
			black[i].color = temp[3*i+1];
		}
		else
		{
			if(temp[3*i]=='T')
				white[i-5].number = 10;
			else if(temp[3*i]=='J')
				white[i-5].number = 11;
			else if(temp[3*i]=='Q')
				white[i-5].number = 12;
			else if(temp[3*i]=='K')
				white[i-5].number = 13;
			else if(temp[3*i]=='A')
				white[i-5].number = 14;
			else
				white[i-5].number = temp[3*i]-48;
			white[i-5].color = temp[3*i+1];
		}
	}
	black[5].number = 0; white[5].number = 0;
	sort(&black[0], &black[5], compare);
	sort(&white[0], &white[5], compare);
	return true;
}
///////////////////////////// 풀하우스 결정 ////////////////////////////
bool isFullHouse(Poker *card, int turn)
{
	if((card[0].number==card[2].number) && (card[3].number==card[4].number))
	{
		if(turn==1)
		{
			blackPair[0].number = card[2].number;
			blackPair[1].number = card[3].number;
		}
		else
		{
			whitePair[0].number = card[2].number;
			whitePair[1].number = card[3].number;
		}
		return true;
	}
	else if((card[0].number==card[1].number) && (card[2].number==card[4].number))
	{
		if(turn==1)
		{
			blackPair[0].number = card[2].number;
			blackPair[1].number = card[1].number;
		}
		else
		{
			whitePair[0].number = card[2].number;
			whitePair[1].number = card[1].number;
		}
		return true;
	}
	return false;
}
///////////////////////////// 포카드 결정 ////////////////////////////
bool isFourCard(Poker *card, int turn)
{
	if(card[0].number==card[3].number)
	{
		if(turn==1)  //블랙 턴일 경우 
		{
			blackPair[0].number = card[0].number;
			blackPair[1].number = card[4].number;
		}
		else
		{
			whitePair[0].number = card[0].number;
			whitePair[1].number = card[4].number;
		}
		return true;
	}
	else if(card[1].number==card[4].number)
	{
		if(turn==1)  //블랙 턴일 경우 
		{
			blackPair[0].number = card[1].number;
			blackPair[1].number = card[0].number;
		}
		else
		{
			whitePair[0].number = card[1].number;
			whitePair[1].number = card[0].number;
		}
		return true;
	}
	return false;
}
///////////////////////////// 트리플 결정 ////////////////////////////
bool isThreeCard(Poker *card, int turn)
{
	if(card[0].number==card[2].number)
	{
		if(turn==1)  //블랙 턴일 경우 
		{
			blackPair[0].number = card[0].number;
			blackPair[1].number = card[3].number;
			blackPair[2].number = card[4].number;
		}
		else
		{
			whitePair[0].number = card[0].number;
			whitePair[1].number = card[3].number;
			whitePair[2].number = card[4].number;
		}
		return true;
	}
	else if(card[1].number==card[3].number)
	{
		if(turn==1)  //블랙 턴일 경우 
		{
			blackPair[0].number = card[1].number;
			blackPair[1].number = card[0].number;
			blackPair[2].number = card[4].number;
		}
		else
		{
			whitePair[0].number = card[1].number;
			whitePair[1].number = card[0].number;
			whitePair[2].number = card[4].number;
		}
		return true;
	}
	else if(card[2].number==card[4].number)
	{
		if(turn==1)  //블랙 턴일 경우 
		{
			blackPair[0].number = card[2].number;
			blackPair[1].number = card[0].number;
			blackPair[2].number = card[1].number;
		}
		else
		{
			whitePair[0].number = card[2].number;
			whitePair[1].number = card[0].number;
			whitePair[2].number = card[1].number;
		}
		return true;
	}
	return false;
}
///////////////////////////// 투페어 결정 ////////////////////////////
bool isTwoPair(Poker *card, int turn)
{
	if((card[0].number==card[1].number)&&(card[2].number==card[3].number))
	{
		if(turn==1)  //블랙 턴일 경우 
		{
			blackPair[0].number = card[0].number;
			blackPair[1].number = card[2].number;
			blackPair[2].number = card[4].number;
		}
		else
		{
			whitePair[0].number = card[0].number;
			whitePair[1].number = card[2].number;
			whitePair[2].number = card[4].number;
		}
		return true;
	}
	else if((card[0].number==card[1].number)&&(card[3].number==card[4].number))
	{
		if(turn==1)  //블랙 턴일 경우 
		{
			blackPair[0].number = card[0].number;
			blackPair[1].number = card[3].number;
			blackPair[2].number = card[2].number;
		}
		else
		{
			whitePair[0].number = card[0].number;
			whitePair[1].number = card[3].number;
			whitePair[2].number = card[2].number;
		}
		return true;
	}
	else if((card[1].number==card[2].number)&&(card[3].number==card[4].number))
	{
		if(turn==1)  //블랙 턴일 경우 
		{
			blackPair[0].number = card[1].number;
			blackPair[1].number = card[3].number;
			blackPair[2].number = card[0].number;
		}
		else
		{
			whitePair[0].number = card[1].number;
			whitePair[1].number = card[3].number;
			whitePair[2].number = card[0].number;
		}
		return true;
	}
	return false;
}
///////////////////////////// 원페어 결정 ////////////////////////////
bool isOnePair(Poker *card, int turn)
{
	if(card[0].number==card[1].number)
	{
		if(turn==1)  //블랙 턴일 경우 
		{
			blackPair[0].number = card[0].number;
			blackPair[1].number = card[2].number;
			blackPair[2].number = card[3].number;
			blackPair[3].number = card[4].number;
		}
		else
		{
			whitePair[0].number = card[0].number;
			whitePair[1].number = card[2].number;
			whitePair[2].number = card[3].number;
			whitePair[3].number = card[4].number;
		}
		return true;
	}
	else if(card[1].number==card[2].number)
	{
		if(turn==1)  //블랙 턴일 경우 
		{
			blackPair[0].number = card[1].number;
			blackPair[1].number = card[0].number;
			blackPair[2].number = card[3].number;
			blackPair[3].number = card[4].number;
		}
		else
		{
			whitePair[0].number = card[1].number;
			whitePair[1].number = card[0].number;
			whitePair[2].number = card[3].number;
			whitePair[3].number = card[4].number;
		}
		return true;
	}
	else if(card[2].number==card[3].number)
	{
		if(turn==1)  //블랙 턴일 경우 
		{
			blackPair[0].number = card[2].number;
			blackPair[1].number = card[0].number;
			blackPair[2].number = card[1].number;
			blackPair[3].number = card[4].number;
		}
		else
		{
			whitePair[0].number = card[2].number;
			whitePair[1].number = card[0].number;
			whitePair[2].number = card[1].number;
			whitePair[3].number = card[4].number;
		}
		return true;
	}
	else if(card[3].number==card[4].number)
	{
		if(turn==1)  //블랙 턴일 경우 
		{
			blackPair[0].number = card[3].number;
			blackPair[1].number = card[0].number;
			blackPair[2].number = card[1].number;
			blackPair[3].number = card[2].number;
		}
		else
		{
			whitePair[0].number = card[3].number;
			whitePair[1].number = card[0].number;
			whitePair[2].number = card[1].number;
			whitePair[3].number = card[2].number;
		}
		return true;
	}
	return false;
}
////////////////////////////////// 플러시 결정 //////////////////////////////////
bool isFlush(Poker *card)
{
	for(i=1; i<5; i++)
		if(card[i].color!=card[i-1].color)
			return false;
	return true;
}
///////////////////////////////// 스트레이트 결정 ////////////////////////////////
bool isStreit(Poker *card)
{
	for(i=1; i<5; i++)
		if(card[i].number != card[i-1].number-1)
			return false;
	return true;
}
/////////////////////////////// 카드 우선 순위 결정 /////////////////////////////////
int cardpower(Poker *card, int turn)
{
	if(isStreit(card) && isFlush(card))
		return 1;
	else if(isFourCard(card, turn))
		return 2;
	else if(isFullHouse(card, turn))
		return 3;
	else if(isFlush(card))
		return 4;
	else if(isStreit(card))
		return 5;
	else if(isThreeCard(card, turn))
		return 6;
	else if(isTwoPair(card, turn))
		return 7;
	else if(isOnePair(card, turn))
		return 8;
	else 
		return 9;
}
/////////////////////////////// 큰수 결정 ///////////////////////////////
int decideBigger(Poker *card1, Poker *card2)
{
	for(i=0; i<5; i++)
	{
		if(card1[i].number>card2[i].number)
			return 1;
		else if(card1[i].number<card2[i].number)
			return -1;
	}
	return 0;
}
/////////////////////////////////// 승자 결정 ///////////////////////////////////
int decideWinner()
{
	if(cardpower(black, 1)<cardpower(white, 2))
		return 1;
	else if(cardpower(black, 1)>cardpower(white, 2))
		return -1;
	else
	{
		if(cardpower(black, 1)==1 || cardpower(black, 1)==4 || cardpower(black, 1)==5 || cardpower(black, 1)==9)
			return decideBigger(black, white);
		else 
			return decideBigger(blackPair, whitePair);
	}
}
int main()
{
	while(input())
	{
		for(i=0; i<5; i++)
		{
			blackPair[i].number=0;
			whitePair[i].number=0;
		}
		int result = decideWinner();
		if(result==1)
			cout <<"Black wins." <<endl;
		else if(result==-1)
			cout <<"White wins." <<endl;
		else
			cout <<"Tie."<<endl;
	}
	return 0;
}