#include<iostream>
char data[16];
int a[16];
int d[4] = { -4, 1, 4, -1 };
char b[16];
int flag;
int count = 0;
int min = 1000;
int sum;
void dfs(int step)
{  
	sum = 0;
	for (int i = 0; i < step; i++)
	{
		sum = sum + a[i];
	}
	if (sum >= min)
		return;

	if (step == 16)
	{
		
		
		count = 0; flag = 1;
		for (int i = 0; i<16; i++)
			b[i] = data[i];
		for (int i = 0; i<16; i++)
		{
			
			if (a[i] == 1)
			{
				if (b[i] == 'b')
				{
					b[i] = 'w';
				}
				else

				{
					b[i] = 'b';
				}
				for (int j = 0; j<4; j++)
				{
					if (i + d[j] >= 0 && i + d[j]<16)
					{
						if (b[i + d[j]] == 'w')
						{
							b[i + d[j]] = 'b';
						}
						else
						{
							b[i + d[j]] = 'w';
						}
					}

				}
			}


		}	

		for (int i = 0; i<16; i++)
		{
			if (b[0] == b[i])
				flag = 1;
			else
			{
				flag = 0;
				break;
			}
		}
		
		if (flag == 1)
		{
			//printf("!!");
			for (int i = 0; i<16; i++)
			{
				if (a[i] == 1)
					count++;
			}
			//printf("%d", count);
			if (count < min)
				min = count;
		}

		
		    // printf("%d", min);
		return;
	}
	for (int i = 0; i<2; i++)
	{
		a[step] = i;
		dfs(step + 1);
	}
}
int main()
{
	freopen("input.txt", "r", stdin);
	for (int i = 0; i<16; i++)
	{
		if (i == 4 || i == 8 || i == 12)
			getchar();
		scanf("%c", &data[i]);
	}
	
	for (int i = 0; i<16; i++)
	{
		b[i] = data[i];
	}
	
	dfs(0);
	printf("%d", min);

}