#include #include #include using namespace std; char ch[10][10]; int vis[10],n,k,ans=0,num=0; void dfs(int i) { int j; if(num==k) { ans++; return; } if(i>n) { return ; } for(j=1;j<=n;++j) { if(!vis[j]&&ch[i][j]=='#') { vis[j]=1; num++; dfs(i+1); vis[j]=0; num--; } } dfs(i+1); } int main() { int i,j; memset(vis,0,sizeof(vis)); while (1); while(cin>>n>>k) { if(n==-1&&k==-1) break; ans=0; num=0; for(i=1;i<=n;++i) { for(j=1;j<=n;++j) { cin>>ch[i][j]; } } dfs(1); cout<