//00
#include<iostream>
#include<algorithm>

using namespace std;

int main(){
  int h,w,n;
  cin>>h>>w>>n;
  char g[30][31];
  for(int i=0;i<h;i++){
    cin>>g[i];
  }
  for(int i=0;i<h;i++){
    for(int j=0;j<w-1;j++){
      char c[30][31];
      copy(g[0],g[h],c[0]);
      swap(c[i][j],c[i][j+1]);
      for(;;){
	for(int k=0;k<w;k++){
	  for(int l=h-1;l>=0;l--){
	    if(c[l][k]=='.'){
	      int m;
	      for(m=l-1;m>=0&&c[m][k]=='.';m--);
	      if(m>=0){
		swap(c[l][k],c[m][k]);
	      }
	    }
	  }
	}
	bool u=false;
	bool v[30][30]={};
	for(int k=0;k<h;k++){
	  for(int l=0;l<w;){
	    if(c[k][l]!='.'){
	      int m;
	      for(m=l+1;m<w&&c[k][l]==c[k][m];m++);
	      if(m-l>=n){
		for(int o=l;o<m;o++){
		  v[k][o]=true;
		}
	      }
	      l=m;
	    }else{
	      l++;
	    }
	  }
	}
	for(int k=0;k<w;k++){
	  for(int l=0;l<h;){
	    if(c[l][k]!='.'){
	      int m;
	      for(m=l+1;m<h&&c[l][k]==c[m][k];m++);
	      if(m-l>=n){
		for(int o=l;o<m;o++){
		  v[o][k]=true;
		}
	      }
	      l=m;
	    }else{
	      l++;
	    }
	  }
	}
	for(int k=0;k<h;k++){
	  for(int l=0;l<w;l++){
	    if(v[k][l]){
	      u=true;
	      c[k][l]='.';
	    }
	  }
	}
	if(!u)break;
      }
      bool a=false;
      for(int k=0;k<h;k++){
	for(int l=0;l<w;l++){
	  a|=c[k][l]!='.';
	}
      }
      if(!a){
	cout<<"YES"<<endl;
	return 0;
      }
    }
  }
  cout<<"NO"<<endl;
  return 0;
}