#define N 3
#define M 3
#include <stdio.h>

char is_win(char arr[N][M], int n, int m)
{
	int i, j;
	//判断行
	for (i = 0; i < n; i++)
	{
		if (arr[i][1] == arr[i][2] && arr[i][1] == arr[i][0])
		{
			return arr[i][1];
		}
	}
	//判断列
	for (i = 0; i < n; i++)
	{
		if (arr[1][i] == arr[2][i] && arr[1][i] == arr[0][i])
		{
			return arr[1][i];
		}

	}
	//主对角线
	for (i = 0; i < n - 1; i++)
	{
		if (arr[i][i] != arr[i + 1][i + 1])
			break;
		else
			return arr[0][0];
	}
	//副对角线
	for (i = 0; i < n - 1; i++)
	{
		if (arr[i][n - i -1] != arr[i + 1][n - i-2])
			break;
		else
			return arr[0][n - 1];
	}
	return ' ';//注意要返回个值
    //2 0//1 1//0 2//n-1
}

int main()
{
	int i, j;
	char board[N][M];
	for (i = 0; i < N; i++)
	{
		for (j = 0; j < M; j++)
		{
			scanf(" %c", &board[i][j]);//这样才能生成3×3列
		}
	}
	char flag = is_win(board, N, M);
	if (flag == 'K')
		printf("KiKi wins!");
	else if (flag == 'B')
		printf("BoBo wins!");
	else
		printf("No winner!");
}