int main()
{
		 char c[110][110]; //????????110*110?????????
		 memset ( c, 0, sizeof(c) ); //?????c
		 int n, day, sum = 0; //n?n*n????day??day?,sum???????
		 int k = 0; //k??????? 
		 cin >> n;
		 cin.get(); //??????? 
		 for ( int i = 1; i <= n; i++ )
		 {
			 cin.getline( c[i] + 1, n + 1 ); //?i???1?????n??????'\0',???h+1 
		 }
		 cin >> day;
		 while ( k < day )
		 {
			 sum = 0;
			 for ( int i = 1; i <= n; i++)
			 {
					 for (int j = 1; j <= n; j++ )
					 {
						 	if ( c[i][j] == '@' )
						sum++;
							 if ( c[i][j] == '.' &&(c[i][j+1] == '@' || c[i][j-1] == '@' || c[i+1][j] == '@' || c[i-1][j] == '@' ) )
								 c[i][j] = 'N';  //??????????????????????
					 }
			 }
			 for (int i = 1; i <= n; i++)
			 {
				 for (int j = 1; j <= n; j++)
				 {
					 if (c[i][j] == 'N')
						 c[i][j] = '@';
				 }
			 }
			 k++;				
		 }
		 cout << sum << endl;
		 return 0;
}