#include <iostream>
#include <iomanip>
#include <vector>
#include <string>
#include <stack>
#include <queue>
#include <deque>
#include <set>
#include <map>
#include <algorithm>
#include <sstream>
#include <cstdlib>
#include <cstring>
#include <functional>
#include <numeric>
#include <cmath>
#include <climits>
#include <limits>
#include <cfloat>
#include <fstream>
using namespace std;

char winlose (vector <string> b )
{
	int size = b.size();
	int i,j;

	for (j = 0; j < size; ++j){
		for (i = 0; i < size; ++i){
			if (b[i][j] == b[i][(j+1) % size] 
			 && b[i][j] == b[i][(j+2) % size] ){
				if (b[i][j] != '+'){
					return b[i][j];
				} // end if
			} // end if
			if (b[j][i] == b[(j+1) % size][i] 
			 && b[j][i] == b[(j+2) % size][i] ){
				if (b[j][i] != '+'){
					return b[j][i];
				} // end if
			} // end if
		} // end for
		if (b[j][j] == b[(j+1)%size][(j+1)%size] 
		 && b[j][j] == b[(j+2)%size][(j+2)%size] ){
			if (b[j][j] != '+'){
				return b[j][j];
			} // end if
		} // end if

		if (b[j][size - j] == b[(j+1)%size][size - (j+1)%size]
		 && b[j][size - j] == b[(j+2)%size][size - (j+2)%size] ){
			if (b[j][size - j] != '+'){
				return b[j][size - j];
			} // end if
		} // end if
 	} // end for
		
	return 'd';
}

template<class T> void disp_t (vector <T> t )
{
//	static int count = 0;
	int size = t.size();
	int i,j;
//	++count;

//	cout << "No. " << count << endl;

	for (i = 0; i < size; ++i){
		for (j = 0; j < size; ++j){
			cout << t[i][j];
		} // end for
		cout << endl;
	} // end for
//	cout << endl;
}

int main()
{
//	cut here before submit 
//	freopen ("testcase.board", "r", stdin );
	string str = "";
	int i;

	while (1) {
		vector <string> board (3);
		for (i = 0; i < 3; ++i){
			getline (cin, str );
			if (str.empty() || str[0] == '0' ){
				goto end;
			} // end if
			board[i] = str;
		} // end for

		char res = winlose (board );


		switch (res ){
			case 'w': cout << 'w'  << endl; break;
			case 'b': cout << 'b'  << endl; break;
			case 'd':  cout << "NA" << endl; break;
		} // end switch

//		disp_t (board );

	} // end loop
end:		
	return 0;
}