#include <iostream>
#include <fstream>
#include <algorithm>
#include <set>
#include <queue>
#include <stack>
#include <vector>
#include <string>
#include <sstream>
using namespace std;
typedef pair<int, int> PII;

ifstream fin("DATA5.txt");
ofstream fout("OUT5.txt");

int n, m, w;
char map[50][50];

bool in(int x, int y)
{
	return x >= 0 && x < n && y >= 0 && y < m;
}

void work()
{
	int x, y;
	int t;
	// where it is
	int ans = 0;
	for (t=0; t<w; t++)
	{
		x = 0;
		y = 0;

		for (;;)
		{
			if (x == n-1)
			{
				if (map[x][y] == 'A')
					ans++;

				map[x][y] = '#';
				break;
			}

			if (in(x+1, y) && map[x+1][y] == '#' && y+1 >= m)
			{
				if (map[x][y] == 'A')
					ans++;

				map[x][y] = '#';
				break;
			}

			if (in(x+1, y) && map[x+1][y] == '#' && map[x][y+1] == '#')
			{
				if (map[x][y] == 'A')
					ans++;

				map[x][y] = '#';
				break;
			}


			if (in(x, y-1) && in(x+1, y) && in(x, y+1) && map[x][y-1] == '#' && map[x+1][y] == '#' && map[x][y+1] == '#')
			{
				if (map[x][y] == 'A')
					ans++;

				map[x][y] = '#';
				break;
			}

			// move to the right
			if (in(x+1, y) && map[x+1][y] == '#' && in(x, y+1) && map[x][y+1] != '#')
			{
				y++;
				continue;
			}

			// move down
			if (in(x+1, y) && map[x+1][y] != '#')
			{
				x++;
				continue;
			}
		}
	}

	fout << ans << endl;
}

int main()
{
	for (int t=0; t<5; t++)
	{
		fin >> w >> m >> n;
		for (int x=0; x<n; x++)
			for (int y=0; y<m; y++)
				fin >> map[x][y];

		work();
	}
}

