#include<bits/stdc++.h>
using namespace std;
int N;
string s[6][9];
void myrotate(int id)
{
	string t[9];
	for(int i=0;i<N;i++)t[i]=s[id-1][i];
	for(int i=0;i<N;i++)
	{
		for(int j=0;j<N;j++)
		{
			s[id-1][N-j-1][i]=t[i][j];
		}
	}
}
void myreverse(int id)
{
	string t[9];
	for(int i=0;i<N;i++)t[i]=s[id-1][i];
	for(int i=0;i<N;i++)
	{
		for(int j=0;j<N;j++)
		{
			s[id-1][i][N-j-1]=t[i][j];
		}
	}
}
bool check(int id1,int i1,int j1,int id2,int i2,int j2)
{
	if(s[id1-1][i1][j1]=='.'&&s[id2-1][i2][j2]=='.')return false;
	if(s[id1-1][i1][j1]=='X'&&s[id2-1][i2][j2]=='X')return false;
	return true;
}
bool check3(int id1,int i1,int j1,int id2,int i2,int j2,int id3,int i3,int j3)
{
	int cnt=0;
	if(s[id1-1][i1][j1]=='X')cnt++;
	if(s[id2-1][i2][j2]=='X')cnt++;
	if(s[id3-1][i3][j3]=='X')cnt++;
	if(cnt==1)return true;
	else return false;
}
void solve()
{
	cin>>N;
	if(N==0)exit(0);
	for(int i=0;i<6;i++)
	{
		for(int j=0;j<N;j++)cin>>s[i][j];
	}
	int i1=1;
	int r1=0;
	for(int i6=2;i6<=6;i6++)
	{
		for(int r6=0;r6<8;r6++)
		{
			//1,6 fixed
			/*int i2;
			  if(i6==2)i2=3;
			  else i2=2;*/
			for(int i2=2;i2<=6;i2++)
			{
				if(i2==i1||i2==i6)continue;
				for(int r2=0;r2<8;r2++)
				{
					//1,2,6 fiexd
					bool flag126=true;
					if(s[i1-1][N-1][0]=='X'&&s[i2-1][0][N-1]=='X')flag126=false;
					if(s[i2-1][N-1][N-1]=='X'&&s[i6-1][0][0]=='X')flag126=false;
					for(int k=1;k<N-1;k++)
					{
						if(!check(i1,k,0,i2,0,k))flag126=false;
						if(!check(i2,N-1,k,i6,N-k-1,0))flag126=false;
					}
					if(flag126)for(int i3=2;i3<=6;i3++)
					{
						if(i3==i1||i3==i2||i3==i6)continue;
						for(int r3=0;r3<8;r3++)
						{
							//1,2,3,6 fixed
							bool flag1236=true;
							if(!check3(i1,N-1,0,i2,0,N-1,i3,0,0))flag1236=false;
							if(!check3(i2,N-1,N-1,i3,N-1,0,i6,0,0))flag1236=false;
							if(s[i1-1][N-1][N-1]=='X'&&s[i3-1][0][N-1]=='X')flag1236=false;
							if(s[i3-1][N-1][N-1]=='X'&&s[i6-1][0][N-1]=='X')flag1236=false;
							for(int k=1;k<N-1;k++)
							{
								if(!check(i1,N-1,k,i3,0,k))flag1236=false;
								if(!check(i2,k,N-1,i3,k,0))flag1236=false;
								if(!check(i3,N-1,k,i6,0,k))flag1236=false;
							}
							if(flag1236)for(int i4=2;i4<=6;i4++)
							{
								if(i4==i1||i4==i2||i4==i3||i4==i6)continue;
								for(int r4=0;r4<8;r4++)
								{
									//1,2,3,4,6 fixed
									bool flag12346=true;
									if(!check3(i1,N-1,N-1,i3,0,N-1,i4,0,0))flag12346=false;
									if(!check3(i3,N-1,N-1,i4,N-1,0,i6,0,N-1))flag12346=false;
									if(s[i1-1][0][N-1]=='X'&&s[i4-1][0][N-1]=='X')flag12346=false;
									if(s[i4-1][N-1][N-1]=='X'&&s[i6-1][N-1][N-1]=='X')flag12346=false;
									for(int k=1;k<N-1;k++)
									{
										if(!check(i1,k,N-1,i4,0,N-1-k))flag12346=false;
										if(!check(i3,k,N-1,i4,k,0))flag12346=false;
										if(!check(i4,N-1,k,i6,k,N-1))flag12346=false;
									}
									if(flag12346)for(int i5=2;i5<=6;i5++)
									{
										if(i5==i1||i5==i2|i5==i3||i5==i4||i5==i6)continue;
										for(int r5=0;r5<8;r5++)
										{
											//1,2,3,4,5,6 fixed
											//check
											bool flag123456=true;
											if(!check3(i1,0,N-1,i4,0,N-1,i5,0,0))flag123456=false;
											if(!check3(i4,N-1,N-1,i5,N-1,0,i6,N-1,N-1))flag123456=false;
											if(!check3(i2,N-1,0,i5,N-1,N-1,i6,N-1,0))flag123456=false;
											if(!check3(i1,0,0,i2,0,0,i5,0,N-1))flag123456=false;
											for(int k=1;k<N-1;k++)
											{
												if(!check(i1,0,N-1-k,i5,0,k))flag123456=false;
												if(!check(i4,k,N-1,i5,k,0))flag123456=false;
												if(!check(i5,N-1,k,i6,N-1,N-1-k))flag123456=false;
												if(!check(i2,k,0,i5,k,N-1))flag123456=false;
											}
											if(flag123456)
											{
												cout<<"Yes"<<endl;
												return;
											}
											myrotate(i5);
											if(r5%4==3)myreverse(i5);
										}
									}
									myrotate(i4);
									if(r4%4==3)myreverse(i4);
								}
							}
							myrotate(i3);
							if(r3%4==3)myreverse(i3);
						}
					}
					myrotate(i2);
					if(r2%4==3)myreverse(i2);
				}
			}
			myrotate(i6);
			if(r6%4==3)myreverse(i6);
		}
	}
	cout<<"No"<<endl;
	return;
}
int main()
{
	while(true)
	{
		solve();
	}
}



Measured memory_bytes: 3156