#include int posx[2][16]; int posy[2][16]; int key[8]={'K','Q','R','R','B','B','N','N'}; #define TOX(a) (a+'a') #define TOY(a) (a+'1') int main(){ int i,j,p,c,t,f; char buff[256]; t=0; for(i=0;i<2;i++){ for(j=0;j<16;j++){ posx[i][j]=-1; } } for(i=0;i<8;i++){ gets(buff); gets(buff); p=2; for(j=0;j<8;j++){ c=buff[p]; if(c!='.' && c!=':'){ switch(c){ case 'K': posx[0][0]=j; posy[0][0]=7-i; break; case 'Q': posx[0][1]=j; posy[0][1]=7-i; break; case 'R': if(posx[0][2]==-1) t=2; else t=3; posx[0][t]=j; posy[0][t]=7-i; break; case 'B': if(posx[0][4]==-1) t=4; else t=5; posx[0][t]=j; posy[0][t]=7-i; break; case 'N': if(posx[0][6]==-1) t=6; else t=7; posx[0][t]=j; posy[0][t]=7-i; break; case 'P': if(posx[0][15]==-1) t=15; else if(posx[0][14]==-1) t=14; else if(posx[0][13]==-1) t=13; else if(posx[0][12]==-1) t=12; else if(posx[0][11]==-1) t=11; else if(posx[0][10]==-1) t=10; else if(posx[0][9]==-1) t=9; else t=8; posx[0][t]=j; posy[0][t]=7-i; break; case 'k': posx[1][0]=j; posy[1][0]=7-i; break; case 'q': posx[1][1]=j; posy[1][1]=7-i; break; case 'r': if(posx[1][2]==-1) t=2; else t=3; posx[1][t]=j; posy[1][t]=7-i; break; case 'b': if(posx[1][4]==-1) t=4; else t=5; posx[1][t]=j; posy[1][t]=7-i; break; case 'n': if(posx[1][6]==-1) t=6; else t=7; posx[1][t]=j; posy[1][t]=7-i; break; case 'p': if(posx[1][15]==-1) t=15; else if(posx[1][14]==-1) t=14; else if(posx[1][13]==-1) t=13; else if(posx[1][12]==-1) t=12; else if(posx[1][11]==-1) t=11; else if(posx[1][10]==-1) t=10; else if(posx[1][9]==-1) t=9; else t=8; posx[1][t]=j; posy[1][t]=7-i; break; } } p+=4; } } gets(buff); printf("White: "); f=0; for(i=0;i<16;i++){ if(posx[0][i]!=-1){ if(f) putchar(','); f=1; if(i<8) putchar(key[i]); putchar(TOX(posx[0][i])); putchar(TOY(posy[0][i])); } } printf("\nBlack: "); f=0; for(i=0;i<16;i++){ if(posx[1][i]!=-1){ if(f) putchar(','); f=1; if(i<8) putchar(key[i]); putchar(TOX(posx[1][i])); putchar(TOY(posy[1][i])); } } putchar('\n'); return 0; }