#include "iostream"
#include "climits"
#include "list"
#include "queue"
#include "stack"
#include "set"
#include "functional"
#include "algorithm"
#include "string"
#include "map"
#include "unordered_map"
#include "unordered_set"
#include "iomanip"
#include "cmath"
#include "random"
#include "bitset"
#include "cstdio"

using namespace std;

const long long int MOD = 1000000007;


long long int N, M, K, H, W, L, R;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);

	cin >> H >> W >> K;
	vector<string>s(H);
	for (int i = 0; i < H; i++) {
		cin >> s[i];
	}
	for (int i = 0; i < H; i++) {
		for (int j = 0; j < W - 1; j++) {
			auto w = s;
			swap(w[i][j], w[i][j + 1]);
			for (int loop = 0; loop < H; loop++) {
				for (int k = 0; k < W; k++) {
					for (int l = H - 2; l >= 0; l--) {
						if (w[l][k] <= 'Z'&&w[l][k] >= 'A'&&w[l + 1][k] == '.') {
							swap(w[l][k], w[l + 1][k]);
						}
					}
				}
			}
			bool exit = false;
			while (!exit) {
				exit = true;
				vector<vector<bool>>field(H, vector<bool>(W));
				for (int k = 0; k < H; k++) {
					int lft = 0;
					for (int l = 1; l < W; l++) {
						if (w[k][l] == w[k][l - 1] && w[k][l] != '.') {
							if (l - lft + 1 >= K) {
								for (int m = lft; m <= l; m++) {
									field[k][m] = true;
								}
							}
						}
						else {
							lft = l;
						}
					}
				}
				for (int k = 0; k < W; k++) {
					int up = 0;
					for (int l = 1; l < H; l++) {
						if (w[l][k] == w[l - 1][k] && w[l][k] != '.') {
							if (l - up + 1 >= K) {
								for (int m = up; m <= l; m++) {
									field[m][k] = true;
								}
							}
						}
						else {
							up = l;
						}
					}
				}
				for (int k = 0; k < H; k++) {
					for (int l = 0; l < W; l++) {
						if (field[k][l]) {
							exit = false;
							w[k][l] = '.';
						}
					}
				}
				for (int loop = 0; loop < H; loop++) {
					for (int k = 0; k < W; k++) {
						for (int l = H - 2; l >= 0; l--) {
							if (w[l][k] <= 'Z'&&w[l][k] >= 'A'&&w[l + 1][k] == '.') {
								swap(w[l][k], w[l + 1][k]);
							}
						}
					}
				}
			}
			//cout << i << " " << j << endl;
			//for (auto k : w) {
			//	cout << k << endl;
			//}
			bool ret = true;
			for (auto k : w) {
				for (auto l : k) {
					if (l != '.')ret = false;
				}
			}
			if (ret) {
				cout << "YES" << endl;
				return 0;
			}
		}
	}
	cout << "NO" << endl;
	return 0;
}
