#include "bits/stdc++.h"

using namespace std;

using i64 = long long;

const i64 MOD = 1e9 + 7;
const i64 INF = i64(1e18) + 7;


template <typename T>
bool chmin(T& x, T y){
    if(x > y){
        x = y;
        return true;
    }
    return false;
}

template <typename T>
bool chmax(T& x, T y){
    if(x < y){
        x = y;
        return true;
    }
    return false;
}

int h, w, k;

bool fall(vector<string>& s){

    bool fl = false;
    for(int j = 0; j < w; ++j){
        vector<int> t;
        for(int i = h - 1; i >= 0; --i){
            if(s[i][j] != '.')
                t.push_back(s[i][j]);
        }
        while(t.size() != h)
            t.push_back('.');
        for(int i = 0; i < h; ++i){
            s[i][j] = t[h - 1 - i];
        }
    }

    vector<pair<int,int>> v;
    for(int j = 0; j < w; ++j){
        int pre = '*';
        int st = 0;
        for(int i = 0; i <= h; ++i){
            if(i == h || s[i][j] != pre){
                if(i - st >= k && pre != '.'){
                    fl = true;
                    for(int ii = st; ii < i; ++ii)
                        v.emplace_back(ii, j);
                }
                st = i;
            }
            if(i != h)
                pre = s[i][j];
        }
    }
    for(int i = 0; i < h; ++i){
        int pre = '*';
        int st = 0;
        for(int j = 0; j <= w; ++j){
            if(j == w || s[i][j] != pre){
                if(j - st >= k && pre != '.'){
                    fl = true;
                    for(int jj = st; jj < j; ++jj)
                        v.emplace_back(i, jj);
                }
                st = j;
            }
            if(j != w)
                pre = s[i][j];
        }
    }
    for(auto p : v)
        s[p.first][p.second] = '.';

    return fl;
}

bool calc(vector<string> s){
    while(fall(s));

    bool fl = true;
    for(int i = 0; i < h && fl; ++i)
        for(int j = 0; j < w && fl; ++j)
            if(s[i][j] != '.')
                fl = false;
    return fl;
}

bool solve(){
    cin >> h >> w >> k;
    vector<string> s(h);
    for(int i = 0; i < h; ++i)
        cin >> s[i];
    for(int x1 = 0; x1 < h; ++x1)
        for(int y1 = 0; y1 < w - 1; ++y1){
            if(s[x1][y1] == s[x1][y1 + 1])
                continue;
            swap(s[x1][y1], s[x1][y1 + 1]);
            if(calc(s)){
                cout << "YES" << endl;
                return false;
            }
            swap(s[x1][y1], s[x1][y1 + 1]);
        }
    cout << "NO" << endl;
    return false;
}

signed main(){
    while(solve());
}

