#include<stdio.h>

int main(void){
	int i,j,k;
	char c[9];
	k=0;
	for(i=1;i<=8;i++){
		scanf("%s",c);
		for(j=2;j<=8;j++){
			if(c[j]==c[j-1])
				break;
		}
		if(j<9)
			k=1;
	}
	if(k==1)
		printf("NO\n");
	else
		printf("YES\n");
	return 0;
}

#include<stdio.h>
int main()
{
    char a[8][9];
    int i,count,j;
    for(i=0;i<8;i++)scanf("%s",&a[i]);
    for(i=0;i<8;i++)
    {
        for(j=1;j<8;j++)
        {
            if(a[i][j]==a[i][j-1])
            {
                printf("NO");
                return 0;
            }
        }
    }
    printf("YES");
    return 0;

}

#include <stdio.h>
int main(int argc, const char * argv[]) {
    char a[8][8];
    int flag=1,i,j;
    for(i = 0 ; i < 8 ; i++){
        scanf("%s",a[i]);
        for( j=1;j<8;j++)
            if(a[i][j]==a[i][j-1]){
                flag=0;
            }
    }
    if(flag)
        printf("YES\n");
    else
        printf("NO\n");
    return 0;
}

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
    int i,t,k;
    char s[8][8];

    for(i=0;i<8;i++)
    {
        scanf("%s",s[i]);
    }
    for(i=0;i<8;i++)
    {
        for(k=0;k+1<8;k++)
        {
            if(s[i][k]==s[i][k+1])
                {
                    printf("NO");
                    return 0;
                }

    else{
            t=0;

    }
        }

    }
    if(t==0)
    printf("YES");
    return 0;
}

#include<stdio.h>
#include<string.h>
int main ()
{
	char a[9],b[9],c[9];
	int i,flag=0;
	strcpy(a,"WBWBWBWB");
	strcpy(b,"BWBWBWBW");
	for(i=1;i<=8;i++)
	{
		scanf("%s",c);
		if(strcmp(a,c)!=0&&strcmp(b,c)!=0)
		{
			flag=1;
		}
	}
	if(flag==0)
	printf("YES");
	else printf("NO");
	return 0;
}

#include<stdio.h>
#include<stdlib.h>

int main()
{
	char ch[8][8];
	int i,j;
	for(i=0;i<8;i++)
	{
		for(j=0;j<8;j++)
			scanf("%c",&ch[i][j]);
		scanf("%*C");
	}
	for(i=0;i<8;i++)
	{
		for(j=0;j<7;j++)
		{
			if(ch[i][j] == ch[i][j+1])
			{
				printf("NO\n");
				return 0;
			}
		}
	}
	printf("YES\n");
	return 0;
}

#include <stdio.h>
#include <string.h>

char board[8][9] = {0};

int checkBoard() {
  int i;
  for(i = 0; i < 8; i++) {
    if(strcmp(board[i], "BWBWBWBW") != 0 && strcmp(board[i], "WBWBWBWB") != 0)
      return 0;
  }
  return 1;
}

int main() {
  int i, j;
  char row[20];
  for(i = 0; i < 8; i++) {
    scanf("%s\n", row);
    for(j = 0; j < 8; j++)
      board[i][j] = row[j];
  }

  if(checkBoard())
    printf("YES");
  else
    printf("NO");

  return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
    char s[8][8];
    int i,flag=0,j;
    for(i=0;i<8;i++)
        scanf("%s",s[i]);
    for(i=0;i<8;i++)
    {
        for(j=0;j+1<8;j++)
        {
            if(s[i][j]==s[i][j+1])
                {
                    printf("NO");
                    return 0;
                }
            else
            flag=1;
        }

    }
    if(flag==1)
        printf("YES");
    return 0;
}

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,j;
    char temp;
    char ch[8][8];

    for(i = 0; i < 8 ; i++)
    {
        temp = 'A';
        for(j = 0 ; j < 8 ; j++)
        {
            scanf("%c",&ch[i][j]);
            if(temp == ch[i][j])
            {
                printf("NO\n");
                return 0;
            }
            temp = ch[i][j];
        }
        scanf("%c",&temp);
    }
    printf("YES\n");
    return 0;
}

#include<stdio.h>

int main() {
	int i,j;
	char board[8][8];
	for(i=0;i<8;i++){
		for(j=0;j<8;j++){
			board[i][j]=getchar();
		}
		getchar();//去掉每一行的换行符号！
	}
	int is_ok=1;
	for(i=0;i<8 && is_ok;i++){
		for(j=0;j<8-1;j++){
			if(board[i][j]==board[i][j+1]){
				is_ok=0;
				break;
			}
		}
	}
	if(is_ok)printf("YES\n");
	else printf("NO\n");

	return 0;
}

#include<stdio.h>
char board[8][8];
int check_row(int row){
	int before=board[row][0];
	int i;
	for(i=1;i<8;i++){
		if(board[row][i]!=before){
			before=board[row][i];
		}else{
			return 0;
		}
	}
	return 1;
}
int main() {
	int i,j;
	for(i=0;i<8;i++){
		for(j=0;j<8;j++){
			board[i][j]=getchar();
		}
		getchar();//去掉每一行的换行符号！
	}
	int is_ok=1;
	for(i=0;i<8;i++){
		if(!check_row(i)){
			is_ok=0;
			break;
		}
	}
	if(is_ok)printf("YES\n");
	else printf("NO\n");

	return 0;
}

#include<stdio.h>
char board[8][8];
int check_row(int row){
	int i;
	for(i=0;i<8-1;i++){
		if(board[row][i]==board[row][i+1])
			return 0;
	}
	return 1;
}
int main() {
	int i,j;
	for(i=0;i<8;i++){
		for(j=0;j<8;j++){
			board[i][j]=getchar();
		}
		getchar();//去掉每一行的换行符号！
	}
	int is_ok=1;
	for(i=0;i<8;i++){
		if(!check_row(i)){
			is_ok=0;
			break;
		}
	}
	if(is_ok)printf("YES\n");
	else printf("NO\n");

	return 0;
}

#include<stdio.h>
int main()
{
    int flag=0,i;
    char ch[10];
    for(i=0;i<8;i++)
    {
        gets(ch);
        if(strcmp(ch,"WBWBWBWB") && (strcmp(ch,"BWBWBWBW")))
            return printf("NO\n"),0;
    }
    printf("YES\n");
    return 0;
}

#include<stdio.h>
#include<string.h>
#include<math.h>

int main()
{
    int i,l,count=0,t=8;
    char a[10];
    while(t--){
    gets(a);
    if(count==0){for(i=0;i<7;i++){
        if(a[i]==a[i+1]){count++;}
    }}}
    if(count){printf("NO");}
    else{printf("YES");}
    return 0;
}

#include <stdio.h>
#include <string.h>

int main()
{
    char a [9] [9];
    int i, j;

    for (i = 0; i < 8; i ++) {
        for (j = 0; j < 8; j ++) {
            scanf(" %c", &a [i]  [j]);
        }
    }

    for (i = 0; i < 8; i ++) {
        for (j = 0; j < 8; j ++) {
            if (a [i] [j] == a [i] [j + 1]) {
                printf("NO");
                return 0;
            }
        }
    }

    printf("YES");

    return 0;
}

#include <stdio.h>
#include <string.h>

int main() {
	int n;

	n = 8;
	while (n--) {
		static char s[9];

		scanf("%s", s);
		if (strcmp(s, "WBWBWBWB") && strcmp(s, "BWBWBWBW")) {
			printf("NO\n");
			return 0;
		}
	}
	printf("YES\n");
	return 0;
}

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
    int i,flag=0;
 char a[9]="BWBWBWBW",b[9]="WBWBWBWB",s[9];
 for(i=0;i<8;i++)
 {
 gets(s);
 if ((strcmp(s,a)!=0)&&(strcmp(s,b)!=0))
 {
    flag=1;
 }
 }
 if(flag==0)
   printf("YES");
else
    printf("NO");

return 0;
}

#include<stdio.h>

char s[111][111];

int check()
{
    int i,j;
    for(i=0;i<=7;i++)
      {
        for(j=0;j<=6;j++)
          if(s[i][j]==s[i][j+1])
            return 0;
      }
    return 1;
}

int main()
{
	int i,j;

	for(i=0;i<=7;i++)
	  scanf("%s",s[i]);
	printf("%s\n",check()?"YES":"NO");

	//system("pause");
	return 0;

}

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    char cb[8][8];
    int i;
    for(i=0;i<8;i++)
    {
        gets(cb[i]);
    }
    int t,j;
    for(i=0;i<8;i++)
    {
        for(j=0;j+1<8;j++)
        {
            if(cb[i][j]==cb[i][j+1])
            {
                printf("NO");
                return 0;
            }
            else
                t=1;
        }
    }
    if(t>0)
        printf("YES");
    return 0;
}

#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>

int main()
{
	int n=8,f=0;
        char a[n][n];
        for(int i=0;i<n;i++)
        {
                scanf("%s",a[i]);
        }
        for(int i=0;i<n;i++)
        {
                int c=0;
                for(int j=0;j<n-1;j++)
                {
                        if(a[i][j]==a[i][j+1])
                        {
                                c=1;
                                break;
                        }
                }
                if(c==1)
                {
                        f=1;
                        break;
                }
        }
        if(f==1)
        printf("NO");
        else
        printf("YES");
        return 0;
}

#include<stdio.h>
#define FLUSH while(getchar()!='\n')
int main()
{
     char c;
     int f=0,j=0;
     char b[9];
     int i=0;
     for(i=0;i<8;i++)
     {

	  scanf("%s",b);
	  FLUSH;
	  c=b[0];
	for(j=0;j<7;j++)
	  if(b[j]==b[j+1])f=-1;
	if(b[0]==b[7])f=-1;
     }
     if(f==-1)printf("NO");
     else printf("YES");

     return 0;
}

#include<stdio.h>
int main()
{
    char s[10],a=0,b=0;
    int i;
    for(i=0; i<8; i++)
    {
        scanf(" %s",s);
        for(int j=0; j<8-1; j++)
        {
            if(s[j]==s[j+1])
                a=1;
        }
    }
    if(a!=1)
        printf("YES\n");
    else
        printf("NO\n");
    return 0;
}

#include <stdio.h>

int main(void) {
    // your code goes here
    char s[9][9];
    int i;
    for(i=0;i<9;i++){
        scanf("%s",s[i]);
    }
    int j,c=0;
    for(i=0;i<8;i++){
        for(j=0;j<8;j++){
            if(s[i][j]==s[i][j+1]){
                printf("NO\n");
                c=1;
                break;
            }
        }
        if(c==1)
        break;
    }
    if(c==0){
        printf("YES\n");
    }
    return 0;
}

#include<stdio.h>
int main(){
    char map[10][10],tag;
    int i,j,flag=1,sum;
    for(i=0;i<8;i++)
        scanf("%s",map[i]);

    for(i=0;i<8;i++){
        sum=0;
        tag=0;
        for(j=1;j<8;j++)
            if(map[i][j]==map[i][j-1]){
                tag=1;
                break;
            }
        if(tag)break;
    }
    printf("%s\n",tag==0?"YES":"NO");
    return 0;
}

#include<stdio.h>
int main()
{
    char ara[9][9];
    int i,j,s=0;
    for(i=0;i<8;i++){
        scanf("%s",ara[i]);
    }
    for(i=0;i<8;i++){
        for(j=0;j<7;j++){
            if(ara[i][j]==ara[i][j+1]){
                s=1;
                break;
            }
        }
    }
    if(s==0)printf("YES");
    else printf("NO");
    return 0;

}

#include<stdio.h>
#include<stdlib.h>
char s[8][9]={"WBWBWBWB","BWBWBWBW","WBWBWBWB","BWBWBWBW","WBWBWBWB","BWBWBWBW","WBWBWBWB","BWBWBWBW"};
int test(char s[],char x[]);
main()
{
    //freopen("input","r",stdin);
   int i,j,k,l=0,t;
   char x[12][12];
   for(i=0;i<8;i++)
    scanf("%s",x[i]);
   for(i=0;i<8;i++)
   {
       t=test(x[i],s[i]);
       if(t)
        l++;
   }
   if(l==8)
    printf("YES\n");
   else
    printf("NO\n");

    return 0;
}
int test(char x[],char s[])
{
    int i,j,k,l=0,pos=-99;
    for(i=0;i<8;i++)
    {
        if(s[0]==x[i])
        {
            pos=i;
            break;
        }
    }
    if(pos!=-99)
    {
        for(i=pos,j=0;i<8;i++,j++)
        {
            if(s[i]==x[j])
            l++;
        }
        for(i=0;i<pos;i++)
        {
            if(s[i]==x[j])
            l++;
        }
        if(l==8)
        return 1;
        else
        return 0;
    }
    else
        return 0;
}

#include <stdio.h>

int main(){

    int count=0;
    int j,i;
    char str[8][8];
    while(count<8){
        scanf("%s", str[count]);
        ++count;
    }
    for(i=0; i<8; ++i)
    {
        for(j=0; j<7; ++j)
            if(str[i][j]==str[i][j+1])
            {
                printf("NO\n");
                return 0;
            }
    }

    printf("YES\n");

    return 0;
}

#include <stdio.h>

int main(){

    int j,i;
    char str[8][8];
    for(i=0; i<8; ++i)
        scanf("%s", str[i]);

    for(i=0; i<8; ++i)
    {
        for(j=0; j<7; ++j)
            if(str[i][j]==str[i][j+1])
            {
                printf("NO\n");
                return 0;
            }
    }

    printf("YES\n");

    return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
    int i,flag=0;
    char a[8][10];
    for(i=0;i<8;i++)
    {
                    scanf("%s",a[i]);
    }
    for(i=0;i<8;i++)
    {
                    if(strcmp(a[i],"BWBWBWBW")==0 || strcmp(a[i],"WBWBWBWB")==0)
                    {
                                                  continue;
                    }
                    else
                    {
                        flag=1;
                        break;
                    }
    }
    if(flag==0)
               printf("YES\n");
    else
               printf("NO\n");
    return 0;
}

#include<stdio.h>
int main(void)
{
	char box[8][8];
	int i,j,count=0;
	for(i=0;i<8;i++)
	scanf("%s",&box[i]);
	for(i=0;i<8;i++)
	{
		for(j=0;j<7;j++)
		{
			if(box[i][j]==box[i][j+1])
			count=1;
		}
	}
	if(count==0)
	printf("YES");
	else
	printf("NO");
	return 0;
}

#include <stdio.h>
#include <stdlib.h>

int main (void) {
  int c, d, res = 1;
  for (d = EOF; c = getchar (), c != EOF; d = c)
    res &= c != d;
  printf ("%s\n", res ? "YES" : "NO");
  exit (EXIT_SUCCESS);
}

#include <limits.h>
#include <stdio.h>
#include <stdlib.h>

int main (void) {
  int c, d, res = 1;
  for (d = EOF; c = getchar (), c != EOF; d = c)
    res &= c != d;
  printf ("%s\n", res ? "YES" : "NO");
  exit (EXIT_SUCCESS);
}

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>

int main(int argc, const char* argv[])
{
	int i;
	char line[10];
	for (i = 0; i < 8; i++) {
		fgets(line, sizeof(line), stdin);
		if (line[0] == line[2] && line[2] == line[4] && line[4] == line[6] &&
		    line[1] == line[3] && line[3] == line[5] && line[5] == line[7] &&
			line[0] != line[1])
			continue;
		printf("NO\n");
		return 0;
	}
	printf("YES\n");

    return 0;
}

#include<stdio.h>
int main()
{
    int t=8,a=0,b=0;
    char x[10];
    while(t--)
    {
        scanf("%s",x);
        if(strcmp(x,"BWBWBWBW")==0)
        a++;
        else
        {if(strcmp(x,"WBWBWBWB")==0)
        b++;}
    }

    if(a+b==8)
    {
        printf("YES");
    }
    else
    printf("NO");

    return 0;
}

#include<stdio.h>
int main()
{
    int t=8,a=0,b=0;
    char x[10];
    while(t--)
    {
        scanf("%s",x);
        if(strcmp(x,"BWBWBWBW")==0)
        a++;
        else
        {if(strcmp(x,"WBWBWBWB")==0)
        b++;}
    }

    if(a==4 && b==4 || a+b==8 )
    {
        printf("YES");
    }
    else
    printf("NO");

    return 0;
}

#include<stdio.h>

int main()
{
	char str[10];
	int x;
	int y=8;
	int flag=0;
	char cl;

	while(y--)
	{
		scanf("%s",str);
		cl=str[0];
		for(x=1;x<8;x++)
		{
			if(cl==str[x])
				flag=1;
			cl=str[x];
		}
	}
	if(flag==1)
	printf("NO");
	else
	printf("YES");
	return 0;
}

#include<stdio.h>
int main()
{
    char c[9][9];
    int f=0,i,j;
    for(i=0;i<8;i++)
    scanf("%s",c[i]);
    for(i=0;i<8;i++)
    {
        for(j=0;j<7;j++)
        {
            if(c[i][j]==c[i][j+1])
            {
                f=1;break;
            }
        }
        if(f==1)
        break;
    }
    if(f==1)
    printf("NO\n");
    else
    printf("YES\n");
    return 0;
}

#include<stdio.h>
#include<stdlib.h>
int main()
{
             int i,j;
             char a[8][8];
             for(i=0;i<8;i++) scanf("%s",a[i]);
             for(i=0;i<8;i++)
                 for(j=1;j<8;j++) {
                      if(a[i][j-1]==a[i][j]) {
                           printf("NO");
                           exit(0);
                          }
                      }
             printf("YES");
             return 0;
}

#include <stdio.h>
#include <string.h>
int main(){ //freopen("in.txt", "r", stdin);
    int i, j;
    char s[10];
    for(i = 0; i < 8; i++){
        scanf("%s", s);
        for(j = 1; j < 8; j++)
            if(s[j-1] == s[j]) {
                printf("NO\n");
                return 0;
            }
    }
    printf("YES\n");
    return 0;
}

#include <stdio.h>
#include <string.h>

typedef char string[80];

int IsSelangSeling(string Kata, int Idx)
{
	if (Kata[Idx] == '\0') return 1;
	else if ((Idx+1) % 8 == 0)
	{
		Idx = Idx + 1;
		return IsSelangSeling(Kata,Idx);
	}
	else
	{
		if (Kata[Idx] == Kata[Idx+1]) //bukan selang-seling
		{
			return 0;
		}
		else
		{
			Idx = Idx + 1;
			return IsSelangSeling(Kata,Idx);
		}
	}
}

int main()
{
	string Kata;
	char CC;
	int W = 0;
	int B = 0;
	int i=0;

	while (i <= 63)
	{
		scanf("%c",&CC);
		if (CC != '\n')
		{
			Kata[i] = CC;
			i++;
		}

	}
	Kata[i] = '\0';

	if (IsSelangSeling(Kata,0))
		printf("YES");
	else
		printf("NO");

	return 0;
}

#include<stdio.h>

int main()
{
    int i, j, k;
    char a[9][9];
    for(i=0; i<8; i++){
        gets(a[i]);
    }
    for(i=0; i<8; i++){
        for(j=0; j<7; j++){
            if((a[i][j])==a[i][j+1]){
                printf("NO");
                return 0;
            }
        }
    }
    printf("YES");
    return 0;
}

#include <stdio.h>
#include <stdlib.h>
//#include <ctype.h>
//#include <string.h>
//#include <math.h>
int main()
{
   int i,j,f=0;
   char s[9][9];
   for(i=0;i<8;i++)
    gets(s[i]);
   for(i=0;i<8;i++)
   {
      // gets(s);
       for(j=0;j<7;j++)
       {
           if(s[i][0]==s[i][7] ||s[i][j]==s[i][j+1])
           {
               f=1;
               break;
           }

       }
       if(f==1)
        break;
   }
   if(f==0)
    printf("YES");
   else
    printf("NO");
    return 0;
}

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#include <limits.h>

#define PI 3.141592653589793
#define max(a,b) (a < b) ? (b) : (a)
#define min(a,b) (a > b) ? (b) : (a)
#define FOR(i,a,b) for(i = a ; i <= b ; i++)
#define ROF(i,a,b) for(i = a ; i >= b ; i--)
#define RAD(x) ((x)*PI)/180
#define y1 y_1
#define ll long long
#define endl printf("\n")
#define MAX 105

int i, j;
char b[MAX][MAX];

int main () {
	scanf("%s %s %s %s %s %s %s %s",b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7]);
	FOR(i,0,7)
		FOR(j,0,6)
			if(b[i][j] == b[i][j+1]){
				printf("NO\n");
				return 0;
			}
	printf("YES\n");
	return 0;
}

#include <stdio.h>
#define n 8

int main()
{
	char b[9][9];
	int i;
	for(i=0;i<8;i++)
		scanf("%s",b[i]);
	int j;
	int flag = 0;
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			if(b[i][j] == b[i][(j+1)%n])
				flag = 1;
		}
	}

	if(flag)
		printf("NO\n");
	else
		printf("YES\n");
	return 0;
}

#include <stdio.h>
#define n 8

int main()
{
	char b[9][9];
	int i;
	for(i=0;i<8;i++)
		scanf("%s",b[i]);
	int j;
	int flag = 0;
	for(i=0;i<n;i++)
	{
		if(b[i][0] == b[i][7])
			flag = 1;
		for(j=1;j<n;j++)
		{
			if(b[i][j] == b[i][j-1])
				flag = 1;
		}
	}

	if(flag)
		printf("NO\n");
	else
		printf("YES\n");
	return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
    int i,j;
    char str[8][9];
    for(i=0;i<8;i++)
    {
       gets(str[i]);
    }
    int k,flag=0;
    //if(str[0][0] == 'B')
      //flag=1;
    for(i=0;i<8;i++)
    {
       for(j=0,k=j+1;j<7 && k<8;j++,k++)
       {
             if(str[i][j] == str[i][k])
             {
                flag=1;
                break;
             }
       }
       if(flag==1)
         break;
    }
    if(flag==1)
      printf("NO");
    else
      printf("YES");
    return 0;
}

#include<stdio.h>
#include<string.h>
int main(){
	int i,j;
	char arr[8][8];
	for(i=0;i<8;i++)
		for(j=0;j<8;j++)
		scanf(" %c",&arr[i][j]);
	int f=0;
	 for(i=0;i<8;i++)
		   for(j=0;j<7;j++)
		 if(arr[i][j]!=arr[i][j+1])
						 f=1;
		 else {
			 printf("NO");
       return 0;
		 }
	 if(f)
		 printf("YES");
}

#include <stdio.h>
#include <string.h>

unsigned validRow(char *s)
{
char chessEven[]="WBWBWBWB";
char chessOdd[]="BWBWBWBW";
unsigned i;

        if(strcmp(s,chessOdd)==0||strcmp(s,chessEven)==0)
            return 1;
        else
            return 0;

}
int main()
{  char s[9][9];
unsigned i=0;
       for(i=0;i<8;i++)
        scanf("%s",s[i]);
        i=0;
       while(i<8&&validRow(s[i]))
         i++;
        if(i<8)
        {
            printf("NO");
        }
        else
            printf("YES");
i=i;
    return 0;
}

#include<stdio.h>
//#include<stdlib.h>
int main(){
    short i = 0,j = 0,k = 0;
    char a='a',b='a';
    for(i=0;i<8;i++){
    b='a';
        for(j=0;j<8;j++){
                         a=getchar();
                         if(a==b) k=1;
                         b=a;
        }
        getchar();
    }
    if(k==1) printf("NO\n");
    else printf("YES\n");
  //  system("pause");
    return 0;
}

#include <stdio.h>
#include <string.h>

int main()
{
	char map[10][10];
	int i,j;
	for (i = 0; i < 8; i++)
	{
		for (j = 0; j < 8; j++)
		{
			scanf("%c",&map[i][j]);
		}
		getchar();
	}

/*		printf("\n");
	for (i = 0; i < 8; i++)
	{
		for (j = 0; j < 8; j++)
		{
			printf("i:%d j:%d %c",i,j,map[i][j]);
		}
		printf("\n");
	}
	printf("\n");
	*/
	int flag = 0;
	for (i = 0; i < 8; i++)
	{
		if (map[i][0] == map[i][7])
		{
//			printf("%d\n",i);
			flag = 1;
			break;
		}
		for (j = 0; j < 7; j++)
		{
			if (map[i][j] == map[i][j+1])
			{
//				printf("%c",map[i][j]);
				flag = 1;
				break;
			}
		}
//		printf("\n");
		if (flag)
		  break;
	}
	if (flag)
	  printf("NO\n");
	else
	  printf("YES\n");
	return 0;
}

#include<stdio.h>
#include<string.h>
int main() {
	int i,j,kont=1;
	char arr[8][8];
	for(i=0;i<8;i++)
		for(j=0;j<8;j++)
	scanf(" %c",&arr[i][j]);
	for(i=0;i<8;i++){
		for(j=1;j<8;j++)
		if(arr[i][j]==arr[i][j-1])
			kont=0;
	}
	if(kont)
		printf("YES");
	else printf("NO");
return 0 ;
}

#include <stdio.h>
char a[10];
int main()
{
    int i,j,flag=1;
    for(i=0;i<8;i++)
    {
        scanf("%s",a);
        for(j=0;j<7;j++)
            if(a[j]==a[j+1])
                flag=0;
    }
    puts(flag?"YES":"NO");
    return 0;
}

#include<stdio.h>

void solve(char s[][10])
{
    int i,j;

    for(i=0;i<8;++i)
    {
        for(j=0;j<7;++j)
        {
            if(s[i][j]==s[i][j+1])
            {
                printf("NO\n");
                return;
            }
        }
    }
    printf("YES\n");
}

int main(void)
{
    char s[10][10];
    int i;
    while(scanf("%s",s[0])!=EOF)
    {
        for(i=1;i<8;++i)
            scanf("%s",s[i]);
        solve(s);
    }
}

#include <stdio.h>
#include <string.h>

char s[9][9] ;

int i , j , k ;
int main()
{
    for( i = 0 ; i < 8 ; i++)
    {
        scanf("%s", s[i] )  ;
    }
     for( i = 0 ; i < 8 ; i++)
    {
         k = 0 ;
         for( j = 0 ; j < 7 ; j ++)
    {
         if( s[i][j] == s[i][j+1] )
         {
                printf("NO" ) ;
                return 0 ;
         }
    }
    }

    printf("YES") ;

 return 0 ;
 }

#include <stdio.h>
#include <string.h>

int main() {
	int i, yes;
	static char s[9];

	yes = 1;
	for (i = 0; i < 8; i++) {
		scanf("%s", s);
		if (strcmp(s, "WBWBWBWB") != 0 && strcmp(s, "BWBWBWBW") != 0) {
			yes = 0;
			break;
		}
	}
	printf("%s\n", yes ? "YES" : "NO");
	return 0;
}

#include <stdio.h>

int main() {
	int i, j, c1, c2, good;
	static char s[9];

	for (i = 0; i < 8; i++) {
		scanf("%s", s);
		c1 = s[0], c2 = s[1];
		good = 1;
		for (j = 0; j < 8; j += 2)
			if (s[j] != c1) {
				good = 0;
				break;
			}
		for (j = 1; j < 8; j += 2)
			if (s[j] != c2) {
				good = 0;
				break;
			}
		if (!good || c1 == c2) {
			printf("NO\n");
			return 0;
		}
	}
	printf("YES\n");
	return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
    char a[8];
    int i,j;
    for(i=0;i<8;i++)
    {
        scanf("%s",a);
        if(strcmp(a,"WBWBWBWB") && strcmp(a,"BWBWBWBW"))
        {
            printf("NO");
            return 0;
        }
    }
    printf("YES");
    return 0;

}

#include<stdio.h>
int main()
{
    char a[8][9];
    int i,j,flag=0;
    for(i=0;i<8;i++)
    {
        scanf("%s",a[i]);
        for(j=0;j<7;j++)
        {
            if(a[i][j]==a[i][j+1])
            {
                flag=1;
                break;
            }
        }
        if(flag)
         break;
    }
    if(flag)
    printf("NO\n");
    else
    printf("YES\n");
    return 0;
}

#include<stdio.h>
#include<stdlib.h>
int main()
{
	char box[8][8],ch='B',temp;
	int i,j,k,FLAG=0;
	for(i=0;i<8;i++)
	{
		for(j=0;j<8;j++)
		{
			scanf("%c",&box[i][j]);
			if(box[i][j-1]==box[i][j]&&j!=0)
			FLAG=1;
		}
	}

	if(FLAG==1)
	{
	  printf("NO");
	  exit(0);
	}
	else
	{

	j=0;
	 for(i=1;i<8;i++)
	 {

		if(box[i-1][j]==box[i][j])
			{
				temp=box[i][7];
				for(k=7;k>0;k--)
				{
					box[i][k]=box[i][k-1];
				}
				box[i][0]=temp;
     		}

	 }
	}
	printf("YES");
	return 0;
}

#include<stdio.h>
#include<stdlib.h>
int main()
{
	char box[8][8],ch='B',temp;
	int i,j,k,FLAG;
	for(i=0;i<8;i++)
	{
		for(j=0;j<8;j++)
		{
			scanf("%c",&box[i][j]);
			if(box[i][j-1]==box[i][j])
			FLAG=1;
		}
	}

	if(FLAG==1)
	{
	  printf("NO");
	  exit(0);
	}
	else
	{

	j=0;
	 for(i=1;i<8;i++)
	 {

		if(box[i-1][j]==box[i][j])
			{
				temp=box[i][7];
				for(k=7;k>0;k--)
				{
					box[i][k]=box[i][k-1];
				}
				box[i][0]=temp;
     		}

	 }
	}
	printf("YES");
	return 0;
}

#include<stdio.h>
#include<stdlib.h>
int main()
{
	char box[8][8],ch='B',temp;
	int i,j,k;
	for(i=0;i<8;i++)
	{
		for(j=0;j<8;j++)
		{
			scanf("%c",&box[i][j]);
		}
	}
	for(i=0;i<8;i++)
	{
		for(j=0;j<8;j++)
		{
			if(j==0)
			{
				if(ch!=box[i][j])
				{
					ch=box[i][j];
				}
				else
				{
					temp=box[i][7];
					for(k=7;k>0;k--)
					{
						box[i][k]=box[i][k-1];
					}
					box[i][0]=temp;
					ch=temp;
				}
			}
			if(j<7)
			{
				if(box[i][j]==box[i][j+1])
				{
					printf("NO");
					exit(0);
				}
			}
		}
	}
	printf("YES");
	return 0;
}

#include<stdio.h>
#include<stdlib.h>
int main()
{
	char box[8][8],ch='B',temp;
	int i,j,k,FLAG=0;
	for(i=0;i<8;i++)
	{
		for(j=0;j<8;j++)
		{
			scanf("%c",&box[i][j]);
			if(box[i][j-1]==box[i][j])
			FLAG=1;
		}
	}

	if(FLAG==1)
	{
	  printf("NO");
	  exit(0);
	}
	else
	{

	j=0;
	 for(i=1;i<8;i++)
	 {

		if(box[i-1][j]==box[i][j])
			{
				temp=box[i][7];
				for(k=7;k>0;k--)
				{
					box[i][k]=box[i][k-1];
				}
				box[i][0]=temp;
     		}

	 }
	}
	printf("YES");
	return 0;
}

#include<stdio.h>
#include<stdlib.h>
int main()
{
	char box[8][8],ch='B',temp;
	int i,j,k,FLAG=0;
	for(i=0;i<8;i++)
	{
		for(j=0;j<8;j++)
		{
			scanf("%c",&box[i][j]);
			if(box[i][j-1]==box[i][j]&&j!=0)
			FLAG=1;
		}
	}

	if(FLAG==1)
	{
	  printf("NO");
	  exit(0);
	}
	else if(FLAG==0)
	{

	j=0;
	 for(i=1;i<8;i++)
	 {

		if(box[i-1][0]==box[i][0])
			{
				temp=box[i][7];
				for(k=7;k>0;k--)
				{
					box[i][k]=box[i][k-1];
				}
				box[i][0]=temp;
     		}

	 }
	}
	printf("YES");
	return 0;
}

#include<stdio.h>
int main(){
    char map[10][10];
    int i,j,flag=1,sum,tag=1;
    for(i=0;i<8;i++)
        scanf("%s",map[i]);

    for(i=0;i<8;i++){
        sum=0;
        if(map[i][0]=='B'&&map[i][7]=='B'){tag=0;break;};
        for(j=0;j<8;j++)
            if(map[i][j]=='W')sum++;
        if(sum!=4){
            flag=0;
            break;
        }
    }
    printf("%s\n",tag&&flag?"YES":"NO");
    return 0;
}

#include <stdio.h>

int main()
{
    int i,j;
    char t,x;
    for(i=1;i<=8;i++){
        scanf("%c",&t);
        for(j=2;j<=8;j++){
            scanf("%c",&x);
            if(x==t){
                printf("NO");
                return 0;
            }
            else t=x;
        }
        printf("\n");
    }
    printf("YES");
    return 0;
}

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>

int main(int argc, const char* argv[])
{
	int i;
	char line[10];
	for (i = 0; i < 8; i++) {
		fgets(line, sizeof(line), stdin);
		if (line[0] == line[2] && line[2] == line[4] && line[4] == line[6] &&
		    line[1] == line[3] && line[3] == line[5] && line[5] == line[7])
			continue;
		printf("NO\n");
		return 0;
	}
	printf("YES\n");

    return 0;
}

#include<stdio.h>
int main()
{
    int t=8,a=0,b=0;
    char x[10];
    while(t--)
    {
        scanf("%s",x);
        if(strcmp(x,"BWBWBWBW")==0)
        a++;
        else
        {if(strcmp(x,"WBWBWBWB")==0)
        b++;}
    }

    if(a==4 && b==4)
    {
        printf("YES");
    }
    else
    printf("NO");

    return 0;
}

#include <stdio.h>
#include <string.h>

typedef char string[10];

int IsSelangSeling(string Kata, int Idx)
{
	if (Idx == 8) return 1;
	else
	{
		if (Kata[Idx] == Kata[Idx+1]) //bukan selang-seling
			return 0;
		else
		{
			Idx = Idx + 1;
			return IsSelangSeling(Kata,Idx);
		}
	}
}

int main()
{
	string Kata;
	int W = 0;
	int B = 0;
	int i;
	int IsValid; ///hanya true false

	IsValid = 1;

	for (i=1;i<=8;i++)
	{
		fgets(Kata,sizeof(Kata),stdin);
		Kata[strlen(Kata)-1] = '\0';
		IsValid = IsValid && IsSelangSeling(Kata,0);
		fflush(stdin);
	}

	if (IsValid)
		printf("YES");
	else
		printf("NO");

	return 0;
}

#include<stdio.h>
#include<string.h>
int main(){
	int i,j;
	char arr[8][8];
	for(i=0;i<8;i++)
		for(j=0;j<8;j++)
		scanf("%c",&arr[i][j]);
	int f=0;
	 for(i=0;i<8;i++)
		   for(j=0;j<7;j++)
		 if(arr[i][j]!=arr[i][j+1])
						 f=1;
		 else {
			 printf("NO");
       return 0;
		 }
	 if(f)
		 printf("YES");
}

#include <stdio.h>

int main(void) {
	// your code goes here
	int i,j;
	char arr[8];
	for(i=1;i<=8;i++)
	{
	    scanf("%s",arr);
	    for(j=0;j<7;j++)
	    {
	        if(arr[i]==arr[i+1]){  break;    }
	    }
	    if(j<7){printf("NO"); break;}

	} if(i>8)printf("YES");

	return 0;
}

#include <stdio.h>

int main(void) {
	// your code goes here
	int i,j;
	char arr[8];
	for(i=0;i<8;i++)
	{
	    scanf("%s",arr);
	    for(j=0;j<7;j++)
	    {
	        if(arr[i]==arr[i+1]){  break;    }
	    }
	    if(j<7){printf("NO"); break;}

	} if(i==8)printf("YES");

	return 0;
}

#include<stdio.h>
//#include<stdlib.h>
int main(){
    short i = 0,j = 0,k = 0;
    char a,b,c;
    for(i=0;i<8;i++){
        for(j=0;j<4;j++)
           if(getchar()==getchar()) k=1;
        getchar();
    }
    if(k==0) printf("YES\n");
    else printf("NO\n");
    //system("pause");
    return 0;
}

#include<stdio.h>
#include<stdlib.h>
int main(){
    short i = 0,j = 0,k = 0;
    char a='a',b='a';
    for(i=0;i<8;i++){
        for(j=0;j<8;j++){
                         a=getchar();
                         if(a==b) k=1;
                         b=a;
        }
        getchar();
    }
    if(k==0) printf("YES\n");
    else printf("NO\n");
    return 0;
}

#include<stdio.h>
int main(){
    short i = 0,j = 0,k = 0;
    for(i=0;i<8;i++){
        for(j=0;j<4;j++)
           if(getchar()==getchar()){
                                    printf("YES\n");
                                    return 0;
           }
        getchar();
    }
    printf("NO\n");
    return 0;
}

#include<stdio.h>
//#include<stdlib.h>
int main(){
    short i = 0,j = 0,k = 0;
    char a='a',b='a';
    for(i=0;i<8;i++){
        for(j=0;j<8;j++){
                         a=getchar();
                         if(a==b) k=1;
                         b=a;
        }
        getchar();
    }
    if(k==0) printf("YES\n");
    else printf("NO\n");
    return 0;
}

//Created by Pratik Paras Mandlecha
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
int main()
{
	int n=0,i,j;
	char s,a[8][8];
	for(i=0;i<8;i++)
	for(j=0;j<8;j++)
	scanf("%c",&a[i][j]);
	for(i=0;i<8;i++)
	for(j=1;j<8;j++)
		if(a[i][j]==a[i][j-1]) n++;
	if(n==0) printf("YES");
	else printf("NO");
	return 0;
}

#include <stdio.h>
#include <string.h>

int main()
{
	char map[9][9];
	int i,j;
	for (i = 0; i < 8; i++)
	{
		for (j = 0; j < 8; j++)
		{
			scanf("%c",&map[i][j]);
		}
	}
	int flag = 0;
	for (i = 0; i < 8; i++)
	{
		for (j = 0; j < 7; j++)
		{
			if (map[i][j] == map[i][j+1])
			{
				flag = 1;
				break;
			}
		}
		if (flag)
		  break;
	}
	if (flag)
	  printf("NO\n");
	else
	  printf("YES\n");
	return 0;
}

#include <stdio.h>
#include <string.h>

int main()
{
	char map[9][9];
	int i,j;
	for (i = 0; i < 8; i++)
	{
		for (j = 0; j < 8; j++)
		{
			scanf("%c",&map[i][j]);
		}
	}
	int flag = 0;
	for (i = 0; i < 8; i++)
	{
		if (map[i][7] == map[i][0])
		{
			flag = 1;
			break;
		}
		for (j = 0; j < 7; j++)
		{
			if (map[i][j] == map[i][j+1])
			{
				flag = 1;
				break;
			}
		}
		if (flag)
		  break;
	}
	if (flag)
	  printf("NO\n");
	else
	  printf("YES\n");
	return 0;
}

#include<stdio.h>
#include<string.h>
int main() {
	int i,j,kont=1;
	char arr[8][8];
	for(i=0;i<8;i++)
		for(j=0;j<8;j++)
	scanf(" %c",&arr[i][j]);
	for(i=0;i<8;i++){
		for(j=0;j<8;j++)
		if(arr[i][j]==arr[i][j+1])
			kont=0;
	}
	if(kont==1)
		printf("YES");
	else printf("NO");
return 0 ;
}

#include<stdio.h>
#include<string.h>
int main() {
	int i,j,kont=1;
	char arr[8][8];
	for(i=0;i<8;i++)
		for(j=0;j<8;j++)
	scanf(" %c",&arr[i][j]);
	for(i=0;i<8;i++){
		for(j=0;j<8;j++)
		if(arr[i][j]==arr[i][j+1])
			kont=0;
	}
	if(kont)
		printf("YES");
	else printf("NO");
return 0 ;
}

#include<stdio.h>

void solve(char s[][10])
{
    int i,j;

    for(i=0;i<8;++i)
    {
        for(j=0;j<7;++j)
        {
            if(s[i][j]==s[i][j+1])
            {
                printf("%s\n",s[i]);
                printf("NO\n");
                return;
            }
        }
    }
    printf("YES\n");
}

int main(void)
{
    char s[10][10];
    int i;
    while(scanf("%s",s[0])!=EOF)
    {
        for(i=1;i<8;++i)
            scanf("%s",s[i]);
        solve(s);
    }
}

#include<stdio.h>
#include<string.h>
int main()
{
	char str[8][9];
	int i, j, flag = 0;
	for(i=0; i<8; i++)
	{
		for(j=0; j<8; j++)
		{
			scanf(" %c", &str[i][j]);
			if((j!=0 && str[i][j-1] == str[i][j]))
				flag = 1;
			printf("%d %d\n", i, j);
		}
	}
	if(flag)
		printf("NO\n");
	else
		printf("YES\n");
	return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
	char str[8][9];
	int i, j, flag = 0;
	for(i=0; i<8; i++)
	{
		for(j=0; j<8; j++)
		{
			scanf("%c", &str[i][j]);
			if((j!=0 && str[i][j-1] == str[i][j]) || (j==7 && str[i][0]==str[i][7]))
				flag = 1;
		}
	}
	if(flag)
		printf("NO\n");
	else
		printf("YES\n");
	return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
	char str[8][9];
	int i, j, flag = 0;
	for(i=0; i<8; i++)
	{
		for(j=0; j<8; j++)
		{
			scanf("%c", &str[i][j]);
			if((j!=0 && str[i][j-1] == str[i][j]))
				flag = 1;
		}
	}
	if(flag)
		printf("NO\n");
	else
		printf("YES\n");
	return 0;
}

#include <stdio.h>
#include <string.h>

char s[9][9] ;

int i , j , k ;
int main()
{
    for( i = 0 ; i < 8 ; i++)
    {
        scanf("%s", s[i] )  ;
    }
     for( i = 0 ; i < 8 ; i++)
    {
         k = 0 ;
         for( j = 0 ; j < 7 ; j ++)
    {
         if( s[i][j] == s[i][j+1] )
         {
             k++ ;
         }
    }
    if( k > 1)
    {
        printf("NO" ) ;
        return 0 ;
    }
    }
    printf("YES") ;

 return 0 ;
 }

#include <stdio.h>

int main() {
	int i, j, c1, c2, good;
	static char s[9];

	for (i = 0; i < 8; i++) {
		scanf("%s", s);
		c1 = s[0], c2 = s[1];
		good = 1;
		for (j = 0; j < 8; j += 2)
			if (s[j] != c1) {
				good = 0;
				break;
			}
		for (j = 1; j < 8; j += 2)
			if (s[j] != c2) {
				good = 0;
				break;
			}
		if (!good) {
			printf("NO\n");
			return 0;
		}
	}
	printf("YES\n");
	return 0;
}

#include <stdio.h>
#include <string.h>

int main ()
{
    int i, sum = 0;

    char str[100];
    char str1[] = "WBWBWBWB";
    char str2[] = "BWBWBWBW";

    for(i = 0; i < 8; i++)
    {
        scanf("%s", str);

        if(strcmp(str, str1) == 0 || strcmp(str, str2) == 0) sum++;
    }
    printf("%d\n", sum);

    if(sum == 8)
        printf("YES");

    else printf("NO");

    return 0;
}

int main(){
    int i,j,k;
    char str[8][8];
    for(i=0;i<8;i++)scanf("%s",str[i]);
    i=0;
    while(i<8){
        if(strstr(str[i],"AA")>0 && strstr(str[i],"BB")>0){
            printf("NO");
            return 0;
        }
        i++;
    }
    printf("YES");
    return 0;
}

int main(){
    int i,j,k;
    char str[8][8];
    for(i=0;i<8;i++)scanf("%s",str[i]);
    i=0;
    while(i<8){
        if(strstr(str[i],"WW")>0 && strstr(str[i],"BB")>0){
            printf("NO");
            return 0;
        }
        i++;
    }
    printf("YES");
    return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
    char a[8];
    int i,j;
    for(i=0;i<8;i++)
    {
        scanf("%s",a);
        if(strcmp(a,"WBWBWBWB")==1 && strcmp(a,"BWBWBWBW")==1)
        {
            printf("NO");
            return 0;
        }
    }
    printf("YES");
    return 0;

}

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i, j;
    char s[10], a, b;
    for (i = 0; i < 8; i++){
        scanf("%s", &s);
        for (j = 0; j < 8; j++){
            if (j == 0) a = s[j];
            else if (j == 1) b = s[j];
            else if ((j % 2) && (s[j] != b)){
                printf("NO\n");
                return 0;
            }else if ((j % 2 == 0) && (s[j] != a)){
                printf("NO\n");
                return 0;
            }
        }
    }
    printf("YES\n");
    return 0;
}

#include<stdio.h>

int main()
{
    int i;
    char ch[8];
    for(i=0;i<8;i++)
    {
        scanf("%s",ch);
        if(strcmp(ch,"WBWBWBWB") || strcmp(ch,"BWBWBWBW"))
            return printf("NO\n"),0;
    }
    printf("YES\n");
    return 0;
}

#include<stdio.h>
#include<stdlib.h>

int main()
{
	char ch[8][8];
	int i,j;
	for(i=0;i<8;i++)
	{
		for(j=0;j<8;j++)
			scanf("%c",&ch[i][j]);
	}
	for(i=0;i<8;i++)
	{
		for(j=0;j<7;j++)
		{
			if(ch[i][j] == ch[i][j+1])
			{
				printf("NO\n");
				return 0;
			}
		}
	}
	printf("YES\n");
	return 0;
}

#include <stdio.h>
#include <string.h>
int main()
{
    char S[9];
    int W,B;
    int i,j;
    int Wrong;
    W=0;B=0;
    Wrong=0;
    for (i=1;i<=8;i++)
    {
        scanf("%s",S);
        if (S[0]=='W')
        {
            W++;}
        else
        {
            B++;}
        j=1;
        while ((Wrong==0) && (j<=8))
        {
            if (S[j]=='W' && S[j-1]!='B')
            {
                Wrong=1;}
            else if (S[j]=='B' && S[j-1]!='W')
            {
                Wrong=1;}
            j++;
        }
    }
    if (Wrong==1)
    {
        printf("NO");}
    else
    {
        if (W==B)
        {
            printf("YES");}
        else
        {
            printf("NO");}
    }
    return 0;
}

#include<stdio.h>
#include<stdlib.h>
int main()
{
	char box[8][8],ch='B',temp;
	int i,j,k;
	for(i=0;i<8;i++)
	{
		for(j=0;j<8;j++)
		{
			scanf("%c",&box[i][j]);
		}
		printf("\n");
	}
	for(i=0;i<8;i++)
	{
		for(j=0;j<8;j++)
		{
			if(j==0)
			{
				if(ch!=box[i][j])
				{
					ch=box[i][j];
				}
				else
				{
					temp=box[i][7];
					for(k=7;k>0;k--)
					{
						box[i][k]=box[i][k-1];
					}
					box[i][0]=temp;
					ch=temp;
				}
			}
			if(j<7)
			{
				if(box[i][j]==box[i][j+1])
				{
					printf("NO");
					exit(0);
				}
			}
		}
	}
	printf("YES");
	return 0;
}

#include<stdio.h>
#include<string.h>
int main ()
{
	char a[9],b[9],c[9];
	int i,flag=0;
	strcpy(a,"wbwbwbwb");
	strcpy(b,"bwbwbwbw");
	for(i=1;i<=8;i++)
	{
		scanf("%s",c);
		if(strcmp(a,c)!=0&&strcmp(b,c)!=0)
		{
			flag=1;
		}
	}
	if(flag==0)
	printf("YES");
	else printf("NO");
	return 0;
}

#include<stdio.h>
#include<string.h>
int main(){
    char *str1="WBWBWBWB";
    char *str2="BWBWBWBW";
    char s[9][9];
    int n=0,m=0,i;
    for(i=0;i<8;++i)
        scanf("%s",s[i]);
    for(i=0;i<8;++i){
        if(strcmp(s[i],str1)==0)
            n++;
        if(strcmp(s[i],str2)==0)
            m++;
    }
    //printf("%d %d",m,n);
    if(n==4&&m==4)
        printf("YES\n");
    else
        printf("NO\n");
return 0;
}

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,j;
    char temp;
    char ch[8][8];

    for(i = 0; i < 8 ; i++)
    {
        temp = 'A';
        for(j = 0 ; j < 8 ; j++)
        {
            scanf("%c",&ch[i][j]);
            if(temp == ch[i][j])
            {
                printf("NO\n");
                return 0;
            }
            temp = ch[i][j];
        }
    }
    printf("YES\n");
    return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <ctype.h>
#include <string.h>

char M[16][16];
int Old, New;
int x, y, Ans;

int main(){
    while(~scanf("%s", M[0])){
        for (y=1; y<8; y++) scanf("%s", M[y]);
        Ans = 0;
        for (x=0; x<8; x++) if (M[0][x]=='W'){
            Ans = 1;
            Old = x;
            break;
        }
        if (Ans==0){
            printf("NO\n");
            continue;
        }

        for (y=0; y<8; y++) for (x=0; x<8; x++) M[y][x+8] = M[y][x];

        for (y=1; y<8; y++){
            for (New=0; New<8; New++){
                Ans = 1;
                for (x=0; x<8; x++) if (M[y][New+x]==M[y-1][Old+x]) Ans = 0;
                if (Ans) break;
            }

            if (Ans){
                Old = New;
                continue;
            }

            break;
        }
        if (Ans) printf("YES\n");
        else printf("NO\n");

    }

    return 0;
}

#include<stdio.h>

char s[111][111];

int check()
{
    int i,j,count;
    for(i=0;i<=7;i++)
      {
        count=0;
        for(j=0;j<=7;j++)
          if(s[i][j]=='W')
            count++;
        if(count!=4)
          return 0;
      }
    for(i=0;i<=7;i++)
      {
        count=0;
        for(j=0;j<=7;j++)
          if(s[j][i]=='W')
            count++;
        if(count!=4)
          return 0;
      }
    return 1;
}

int main()
{
	int i,j;

	for(i=0;i<=7;i++)
	  scanf("%s",s[i]);
	printf("%s\n",check()?"YES":"NO");

	//system("pause");
	return 0;

}

#include<stdio.h>
int main()
{
    char a,b,c,d,e,f,g,h;
    int i,flag;
    freopen("inp.txt","r",stdin);
    for(i=0;i<8;i++)
    {
        scanf("%c%c%c%c%c%c%c%c",&a,&b,&c,&d,&e,&f,&g,&h);
        if(!((a!=b)&&(b!=c)&&(c!=d)&&(d!=e)&&(e!=f)&&(f!=g)&&(g!=h)))
            {printf("NO");return 0;}
        getchar();
    }
    printf("YES");
    return 0;
}

#include <stdio.h>

int main()
{
	int a, b, d, e;
	char c;
	char ZA[] = {'W', 'B'};

	e = 0;
	for (a = 0; e == 0 && a < 8; ++a) {
		scanf("%c", &c);
		if (c == 'W')
			d = 1;
		else
			d = 0;
		for (b = 0; b < 7; ++b) {
			scanf("%c", &c);
			if (c != ZA[d]) {
				e = 1;
				break;
			} else {
				d = 1 - d;
			}
		}
		scanf("\n");
	}
	if (a == 8)
		printf("YES\n");
	else
		printf("NO\n");

	return 0;
}

#include <stdio.h>

int main()
{
	int a, b, d, e;
	char c, ZA[] = {'W', 'B'};

	e = 0;
	for (a = 0; e == 0 && a < 8; ++a) {
		scanf("\n%c", &c);
		if (c == 'W')
			d = 1;
		else
			d = 0;
		for (b = 1; b < 8; ++b) {
			scanf("%c", &c);
			if (c == ZA[d]) {
				d = 1 - d;
			} else {
				e = 1;
				break;
			}
		}
	}
	if (a == 8)
		printf("YES\n");
	else
		printf("NO\n");

	return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
    int i,j,flag=0;
    char a[8][8];
    for(i=0;i<8;i++)
    {
                    for(j=0;j<8;j++)
                    {
                                    scanf("%c",&a[i][j]);
                    }
    }
    for(i=0;i<8;i++)
    {
                    for(j=0;j<7;j++)
                    {
                                    if(a[i][j]==a[i][j+1])
                                    {
                                                          flag=1;
                                                          break;
                                    }
                    }
                    if(flag==1)
                               break;
    }
    if(flag==0)
               printf("YES\n");
    else
               printf("NO\n");
    return 0;
}

#include<stdio.h>
int main()
{
    int i,j,flag=0;
    char a[8][8];
    for(i=0;i<8;i++)
    {
                    for(j=0;j<8;j++)
                    {
                                    scanf("%c",&a[i][j]);
                    }
    }
    for(i=0;i<8;i++)
    {
                    for(j=0;j<7;j++)
                    {
                                    if(a[i][j]==a[i][j+1])
                                    {
                                                          flag=1;
                                                          break;
                                    }
                                    if(flag==1)
                                               break;
                    }
    }
    if(flag==0)
               printf("YES\n");
    else
               printf("NO\n");
    return 0;
}

#include <limits.h>
#include <stdio.h>
#include <stdlib.h>

int main (void) {
  int freq[1 << CHAR_BIT] = {0}, c;
  while (c = getchar (), c != EOF) {
    ++freq[c];
  }
  printf ("%s\n", freq['W'] == freq['B'] ? "YES" : "NO");
  exit (EXIT_SUCCESS);
}

#include <limits.h>
#include <stdio.h>
#include <stdlib.h>

int main (void) {
	int freq[1 << CHAR_BIT] = {0}, c;
	while (c = getchar (), c != EOF) {
		++freq[c];
	}
	printf ("%s\n", freq['W'] == freq['B'] ? "YES" : "NO");
	exit (EXIT_SUCCESS);
}

#include<stdio.h>
#include<string.h>
int main()
{
    char c[8][8];
    int i,j,k=0;
    for(i<0;i<8;i++)
    {
        scanf("%s",c[i]);
    }
    for(i<0;i<8;i++)
    {
        for(j=0;(j+1)<8;j++)
        {
            if(c[i][j]==c[i][(j+1)])
            {
                printf("no");
                return 0;
            }
            else
                k=1;
        }
    }
    if(k==1)
    {
        printf("yes");
        return 0;
    }

}

#include<math.h>
#include<stdio.h>
char c[8][8];
main()
{
    int i,j,k,flag=0;
    for(i=0;i<8;i++)
    scanf("%s",&c[i][0]);
    for(i=0;i<8;i++)
    {
        for(j=0;j<7;j++)
        {
            if(c[i][j]==c[i][j+1])
            {
                flag=1;
                break;
            }

        }
        if(flag==1)
            break;

    }
    if(flag==1)
    printf("N0\n");
    else
    printf("YES\n");
    return 0;
}

#include<stdio.h>
#include<string.h>

main()
{
freopen("b.txt","r",stdin);
int t=8,j,k,flag=0,i;
char a[20];
for(k=0;k<8;k++)
{
scanf("%s",a);
a[8]=a[0];
for(i=0;i<8;i++){if(a[i]==a[i+1])flag=1;}
}
if(flag)printf("NO\n");
else printf("YES\n");
return 0;

}

#include<stdio.h>
int main () {
	char str[8][8];
	int j,i;

	for(i=0;i<8;i++)
		for(j=0;j<8;j++)
			scanf("%c",&str[i][j]);

	for(i=0;i<8;i++){
		for(j=0;j<7;j++)
			if(str[i][j]==str[i][j+1]){
				printf("NO");
				return 0;
			}
		}
			printf("YES");
}

#include <stdio.h>
#include <string.h>
int main(){ //freopen("in.txt", "r", stdin);
    int i;
    char a[10];
    for(i = 1; i <= 8; i++){
            scanf("%s", &a[i]);
    }
    if(a[1] == a[8]){
        printf("YES\n");
    }
    else{
        printf("NO\n");
    }
    return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
    int i,j;
    char str[8][9];
    for(i=0;i<8;i++)
    {
       gets(str[i]);
    }
    int k,flag=0;
    if(str[0][0] == 'B')
      flag=1;
    for(i=0;i<8;i++)
    {
       for(j=0,k=j+1;j<7 && k<8;j++,k++)
       {
             if(str[i][j] == str[i][k])
             {
                flag=1;
                break;
             }
       }
       if(flag==1)
         break;
    }
    if(flag==1)
      printf("NO");
    else
      printf("YES");
    return 0;
}

#include<stdio.h>
int main()
{
    int i,j;
    int c=0;
    char arra[8][8];
    for(i=0;i<8;i++){
        for(j=0;j<8;j++){
            scanf("%c",&arra[i][j]);
        }}
    for(i=0;i<8;i++){
        for(j=0;j<7;j++){
            if(arra[i][j]==arra[i][j+1]){
                c=1;
                break;

            }

        }
        if(c==1){
            printf("NO");
            break;}
    }
    if(i==8 && j==6)printf("YES");
    else printf("NO");
    return 0;
}

#include <stdio.h>

int main(){
    char mat[8][8];
    for(int i=0;i<8;i++){
        for(int j=0;j<8;j++){
            scanf(" %c", &mat[i][j]);
        }
    }
    for(int i=0;i<8;i++){
        for(int j=0;j<8;j++){
            printf("%c ", mat[i][j]);
        }printf("\n");
    }
    for(int i=0;i<8;i++){
        char c = mat[i][0];
        for(int j=1;j<8;j++){
            if(c==mat[i][j]){printf("NO");return 0;}
            c=mat[i][j];
        }
    }
    printf("YES");
    return 0;
}

#include <stdio.h>

char s[8][9];
int i, j;

int main()
{
    for(i=0;i<8;i++)
    {
        for(j=0;j<8;j++)
        {
            scanf("%c",&s[i][j]);
            if(j>0)
            {
                if(s[i][j]==s[i][j-1])
                {
                    printf("NO");
                    return 0;
                }
            }
        }
    }
    printf("YES");
    return 0;
}

#include<stdio.h>
#include<math.h>
#include<conio.h>
#include<string.h>
#include<windows.h>

#define swap( dtype , a , b) {dtype c; c=a ; a=b ; b=c;}
#define mini(a,b) ((a)<(b)? (a):(b))
#define maxi(a,b) ((a)>(b)? (a):(b))
#define show(x,format) printf(#x "=%" #format "\n",x)
#define clr system("cls")
# define rev(a) a%10*10+a/10

void gxy(short col, short row)
{
	HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
	COORD position = { col,row };
	SetConsoleCursorPosition(h, position);
}
int main()
{
	int i,j,w=0,b=0,c=0;
	char str[8];
	for(i=0;i<8;i++){
		scanf("%s" ,&str);
		for(j=0;j<8;j++){
			if(str[j]=='W'){
				if(str[j+1]=='W') c++;
			w++;
			}
			else if(str[j]=='B'){
				if(str[j+1]=='B') c++;
			c++;
			}
		}
	}
	//printf("w=%d\tb=%d" ,w ,b);
	if(w==b&&c==0) printf("YES");
	else printf("NO");
	return 0;
}

#include<stdio.h>
#include<math.h>
#include<conio.h>
#include<string.h>
#include<windows.h>

#define swap( dtype , a , b) {dtype c; c=a ; a=b ; b=c;}
#define mini(a,b) ((a)<(b)? (a):(b))
#define maxi(a,b) ((a)>(b)? (a):(b))
#define show(x,format) printf(#x "=%" #format "\n",x)
#define clr system("cls")
# define rev(a) a%10*10+a/10

void gxy(short col, short row)
{
	HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
	COORD position = { col,row };
	SetConsoleCursorPosition(h, position);
}
int main()
{
	int i,j,w=0,b=0,w1=0,b1=0;
	char str[8];
	for(i=0;i<8;i++){
		scanf("%s" ,&str);
		if(str[0]=='W') w1++;
		else b1++;
		for(j=0;j<8;j++){
			if(str[j]=='W') w++;
			else b++;
		}
	}
	//printf("w=%d\tb=%d" ,w ,b);
	if(w==b&&w1==b1) printf("YES");
	else printf("NO");
	return 0;
}

#include<stdio.h>
#include<math.h>
#include<conio.h>
#include<string.h>
#include<windows.h>

#define swap( dtype , a , b) {dtype c; c=a ; a=b ; b=c;}
#define mini(a,b) ((a)<(b)? (a):(b))
#define maxi(a,b) ((a)>(b)? (a):(b))
#define show(x,format) printf(#x "=%" #format "\n",x)
#define clr system("cls")
# define rev(a) a%10*10+a/10

void gxy(short col, short row)
{
	HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
	COORD position = { col,row };
	SetConsoleCursorPosition(h, position);
}
int main()
{
	int i,j,w=0,b=0;
	char str[8];
	for(i=0;i<8;i++){
		scanf("%s" ,&str);
		for(j=0;j<8;j++){
			if(str[j]=='W') w++;
			else b++;
		}
	}
	//printf("w=%d\tb=%d" ,w ,b);
	if(w==b) printf("YES");
	else printf("NO");
	return 0;
}


#define _USE_MATH_DEFINES
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <stdbool.h>
#include <float.h>
#include <limits.h>
#include <malloc.h>
#include <memory.h>
#include <complex.h>
#include <errno.h>
#include <time.h>
int i,d[25],f[25],l;
long long a[25],ans;
char s[25];

void dfs(int x)
{
	int i,sum;
	long long res;

	if (x>=10)
	{
		for (i=0,sum=0;i<=9;i++) sum+=d[i];
		res=(long long) a[sum-1]*(sum-d[0]);
		for (i=0;i<=9;i++) res/=a[d[i]];
		ans+=res;
		return;
	}
	if (!f[x]) dfs(x+1);
	else
	{
		for (i=1;i<=f[x];i++)
		{
			d[x]=i;
			dfs(x+1);
		}
	}
}

int main()
{
	memset(f,0,sizeof(f));
	memset(d,0,sizeof(d));
	scanf("%s",s);
	l=strlen(s);
	for (i=ans=0;i<l;i++) f[s[i]-'0']++;
	for (i=1,a[0]=1;i<=20;i++) a[i]=(long long) a[i-1]*i;
	dfs(0);
	printf("%lld\n",ans);
	return 0;
}

#include <stdio.h>
#include <math.h>
long long fact(long long int n)
{
    long long int ans = 1;
    for (long long int i = 2; i<=n; i++)
        ans*=i;
    return ans;
}

int main()
{
    int h[10] = {},f[10] = {},p,f0,fn0;
    long long int n,temp,ctr = 0;
    scanf("%I64d",&n);
    while(n>0)
    {
        h[n%10]++;
        n/=10;
    }
    outer :while(1)
    {
        f0 = 0, fn0 = 0,p = 9;
        f[9]++;
        while(f[p] > h[p] && p>0)
        {
            f[p] = 0;
            f[--p]++;
        }
        printf("\n");
        if (f[0] > h[0])
            break;
        f0 = f[0];
        for (int i = 1; i<10; i++)
            fn0+=f[i];
        temp = fn0 * fact(fn0 + f0 -1);
        for (int i = 0; i<10; i++)
        {
            if (f[i] == 0 && h[i]!=0)
            {
                temp = 0;
                break;
            }
            temp/=(f[i] > 0)?fact(f[i]) : 1;
        }
        ctr+=temp;
    }
    printf("%I64d",ctr);
    return 0;
}

#define _USE_MATH_DEFINES
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <stdbool.h>
#include <float.h>
#include <limits.h>
#include <malloc.h>
#include <memory.h>
#include <complex.h>
#include <errno.h>
#include <time.h>
int i,d[25],f[25],l;
long long a[25],ans;
char s[25];

void dfs(int x)
{
	int i,sum;
	long long res;

	if (x>=10)
	{
		for (i=0,sum=0;i<=9;i++) sum+=d[i];
		res=(long long) a[sum-1]*(sum-d[0]);
		for (i=0;i<=9;i++)
		if (d[i]) res/=d[i];
		ans+=res;
		return;
	}
	if (!f[x]) dfs(x+1);
	else
	{
		for (i=1;i<=f[x];i++)
		{
			d[x]=i;
			dfs(x+1);
		}
	}
}

int main()
{
	memset(f,0,sizeof(f));
	memset(d,0,sizeof(d));
	scanf("%s",s);
	l=strlen(s);
	for (i=ans=0;i<l;i++) f[s[i]-'0']++;
	for (i=2,a[1]=1;i<=20;i++) a[i]=(long long) a[i-1]*i;
	dfs(0);
	printf("%lld\n",ans);
	return 0;
}

#define _USE_MATH_DEFINES
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <stdbool.h>
#include <float.h>
#include <limits.h>
#include <malloc.h>
#include <memory.h>
#include <complex.h>
#include <errno.h>
#include <time.h>
int i,d[25],f[25],l;
long long a[25],ans;
char s[25];

void dfs(int x)
{
	int i,sum;
	long long res;

	if (x>=10)
	{
		for (i=0,sum=0;i<=9;i++) sum+=d[i];
		res=(long long) a[sum-1]*(sum-d[0]);
		for (i=0;i<=9;i++)
		if (d[i]) res/=d[i];
		ans+=res;
		return;
	}
	if (!f[x]) dfs(x+1);
	else
	{
		for (i=1;i<=f[x];i++)
		{
			d[x]=i;
			dfs(x+1);
		}
	}
}

int main()
{
	memset(f,0,sizeof(f));
	memset(d,0,sizeof(d));
	scanf("%s",s);
	l=strlen(s);
	for (i=ans=0;i<l;i++) f[s[i]-'0']++;
	for (i=1,a[0]=1;i<=20;i++) a[i]=(long long) a[i-1]*i;
	dfs(0);
	printf("%lld\n",ans);
	return 0;
}

#include <stdio.h>
#include <math.h>
long long fact(long long int n)
{
    long long int ans = 1;
    for (long long int i = 2; i<=n; i++)
        ans*=i;
    return ans;
}

int main()
{
    int h[10] = {},f[10] = {},p,f0,fn0;
    long long int n,temp,ctr = 0;
    scanf("%I64d",&n);
    while(n>0)
    {
        h[n%10]++;
        n/=10;
    }
    outer :while (1)
    {
        f0 = 0, fn0 = 0,p = 9;
        f[9]++;
        while(f[p] > h[p] && p>0)
        {
            f[p] = 0;
            f[--p]++;
        }
        if (f[0] > h[0])
            break;
        f0 = f[0];
        for (int i = 1; i<10; i++)
            fn0+=f[i];
        temp = fn0 * fact(fn0 + f0 -1);
        for (int i = 0; i<10; i++)
        {
            if (f[i] == 0 && h[i]!=0)
            {
                temp = 0;
                break;
            }
            temp/=(f[i] > 0)?f[i] : 1;
        }
        ctr+=temp;
    }
    printf("%I64d",ctr);
    return 0;
}

#include <stdio.h>
#include <math.h>
long long fact(long long int n)
{
    long long int ans = 1;
    for (long long int i = 2; i<=n; i++)
        ans*=i;
    return ans;
}

int main()
{
    int h[10] = {},f[10] = {},p,f0,fn0;
    long long int n,temp,ctr = 0;
    scanf("%I64d",&n);
    while(n>0)
    {
        h[n%10]++;
        n/=10;
    }
    while (1)
    {
        f0 = 0, fn0 = 0,p = 9;
        f[9]++;
        while(f[p] > h[p] && p>0)
        {
            f[p] = 0;
            f[--p]++;
        }
        if (f[0] > h[0])
            break;
        f0 = f[0];
        for (int i = 1; i<10; i++)
            fn0+=f[i];
        temp = fn0 * fact(fn0 + f0 -1);
        for (int i = 0; i<10; i++)
        {
            temp/=(f[i] > 0)?f[i] : 1;
        }
        ctr+=temp;
    }
    printf("%I64d",ctr);
    return 0;
}