#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9 + 7;
int main() {
  int H, W, K, r = 0, s = 0;
  cin >> H >> W >> K;
  vector<string> c(H);
  vector<int> a(H, 0), b(W, 0);
  for (int i = 0; i < (H); ++i) {
    cin >> c.at(i);
    for (int j = 0; j < (W); ++j) s += (c.at(i).at(j) == '#');
  }
  for (int i = 0; i < (H); ++i)
    for (int j = 0; j < (W); ++j) a.at(i) += (c.at(i).at(j) == '#');
  for (int i = 0; i < (W); ++i)
    for (int j = 0; j < (H); ++j) b.at(i) += (c.at(j).at(i) == '#');
  for (int i = 0; i < (1 << H); ++i) {
    int p = 0;
    set<int> s1;
    for (int h = 0; h < (H); ++h)
      if (i & 1 << h) {
        p += a.at(h);
        s1.insert(h);
      }
    for (int j = 0; j < (1 << W); ++j) {
      int q = 0;
      set<int> s2;
      for (int w = 0; w < (W); ++w)
        if (j & 1 << w) {
          q += b.at(w);
          s2.insert(w);
        }
      q += p;
      for (auto x : s1)
        for (auto y : s2)
          if (c.at(x).at(y) == '#') --q;
      if (s - q == K) ++r;
    }
  }
  cout << r << endl;
}
