/*很简单的一个题 枚举判重就可以。
*/
#include<cstdio>
#include<cstring>int n;
struct M
{
int map[55][55];
} p[110*4];
int change(int z)
{
for(int i = 1; i <= n; i++)
for(int j = 1; j <= n; j++)
p[z+1].map[j][n-i+1] = p[z].map[i][j];
for(int i = 1; i <= n; i++)
for(int j = 1; j <= n; j++)
p[z+2].map[n-j+1][i] = p[z].map[i][j];
for(int i = 1; i <= n; i++)
for(int j = 1; j <= n; j++)
p[z+3].map[n-i+1][n-j+1] = p[z].map[i][j];
for(int i = 1; i <= n; i++)
for(int j = 1; j <= n; j++)
p[z+4].map[i][j] = p[z].map[i][j];
}
int judge(int x,int y)
{
for(int i = 1; i <= n; i++)
for(int j = 1; j <= n; j++)
if(p[x].map[i][j]!=p[y].map[i][j])
return 0;
return 1;
}
int main()
{
while(scanf("%d",&n)&&n)
{
memset(p,0,sizeof(p));
int a,b,l=0,sign1,sign2,flag=0;
char c;
for(int i = 1; i <= n*2; i++)
{
scanf("%d %d %c",&a,&b,&c);
if(c=='+')
{
p[l].map[a][b] = 1;
//printf("%d %d %d %c...\n",a,b,p[l].map[a][b],c);
}
else p[l].map[a][b] = 0;
for(int k = 0; k < l; k++)
if(judge(l,k)&&!flag)
{
flag = 1;
sign1 = i;
if(sign1%2) sign2 = 2;
else sign2 = 1;
}
change(l);
l+=4;
}
if(flag)
{
printf("Player %d wins on move %d\n",sign2,sign1);
}
else printf("Draw\n");
}
return 0;
}