#include <iostream>
#include <array>
#include <algorithm>
#include <vector>
#include <bitset>
#include <set>
#include <unordered_set>
#include <cmath>
#include <complex>
#include <deque>
#include <iterator>
#include <numeric>
#include <map>
#include <unordered_map>
#include <queue>
#include <stack>
#include <string>
#include <tuple>
#include <utility>
#include <limits>
#include <iomanip>
#include <functional>
#include <cassert>
using namespace std;

using ll=long long;
template<class T> using V = vector<T>;
template<class T, class U> using P = pair<T, U>;
using vll = V<ll>;
using vvll = V<vll>;
#define rep(i, k, n) for (ll i=k; i<(ll)n; ++i)
#define REP(i, n) rep(i, 0, n)
#define ALL(v) v.begin(),v.end()
template < class T > inline bool chmax(T& a, T b) {if (a < b) { a=b; return true; } return false; }
template < class T > inline bool chmin(T& a, T b) {if (a > b) { a=b; return true; } return false; }
#define DEBUG_VLL(vec) REP(sz, vec.size()) std::cerr<<vec[sz]<<(sz==vec.size()-1?'\n':' ');

const long long MOD = 1000000007;
const long long HIGHINF = (long long)1e18;
const int INF = (int)1e9;

int h, w, k;
V<string> c;
int ans = 0;
set<int> retu, gyo;

void check() {
    int cnt = 0;
    for (int i = 0; i < h; i++) {
        for (int j = 0; j < w; j++) {
            if (c[i][j] == '#') cnt++;
        }
    }
    if (cnt == k) ans++;
}

int main() {
    cin.tie(0);
    ios::sync_with_stdio(false);
    cin >> h >> w >> k;
    c.resize(h);
    for (int i = 0; i < h; i++) cin >> c[i];
    check();

for (int j1 = 0; j1 < w; j1++) {  // 1retsu
            string tmp2(h, '@');
            for (int i2 = 0; i2 < h; i2++) {
                tmp2[i2] = c[i2][j1];
                c[i2][j1] = '@';
            }
            check();
            for (int j2 = j1+ 1; j2 < w; j2++) {  // 2retsu
                string tmp3(h, '@');
                for (int i3 = 0; i3 < h; i3++) {
                    tmp3[i3] = c[i3][j2];
                    c[i3][j2] = '@';
                }
                check();
                for (int j3 = j2 + 1; j3 < w; j3++) {  // 3retsu
                    string tmp4(h, '@');
                    for (int i3 = 0; i3 < h; i3++) {
                        tmp4[i3] = c[i3][j3];
                        c[i3][j3] = '@';
                    }
                    check();
                    for (int j4 = j3 + 1; j4 < w; j4++) {  // 4retsu
                        string tmp5(h, '@');
                        for (int i3 = 0; i3 < h; i3++) {
                            tmp5[i3] = c[i3][j4];
                            c[i3][j4] = '@';
                        }
                        check();
                        for (int j5 = j4 + 1; j5 < w; j5++) {  // 5retsu
                            string tmp6(h, '@');
                            for (int i3 = 0; i3 < h; i3++) {
                                tmp6[i3] = c[i3][j5];
                                c[i3][j5] = '@';
                            }
                            check();
                            for (int j6 = j5 + 1; j6 < w; j6++) {  // 6retsu
                                string tmp7(h, '@');
                                for (int i3 = 0; i3 < h; i3++) {
                                    tmp7[i3] = c[i3][j6];
                                    c[i3][j6] = '@';
                                }
                                check();
                                for (int i3 = 0; i3 < h; i3++) {
                                    c[i3][j6] = tmp7[i3];
                                }
                            }
                            for (int i3 = 0; i3 < h; i3++) {
                                c[i3][j5] = tmp6[i3];
                            }
                        }
                        for (int i3 = 0; i3 < h; i3++) {
                            c[i3][j4] = tmp5[i3];
                        }
                    }
                    for (int i3 = 0; i3 < h; i3++) {
                        c[i3][j3] = tmp4[i3];
                    }
                }
                for (int i3 = 0; i3 < h; i3++) {
                    c[i3][j2] = tmp3[i3];
                }
            }
            for (int i3 = 0; i3 < h; i3++) {
                c[i3][j1] = tmp2[i3];
            }
        }

    // 1つ
    for (int i = 0; i < h; i++) {
        string tmp = c[i];
        for (int j = 0; j < w; j++) c[i][j] = '@';
        check();
        for (int j1 = 0; j1 < w; j1++) {  // 1retsu
            string tmp2(h, '@');
            for (int i2 = 0; i2 < h; i2++) {
                tmp2[i2] = c[i2][j1];
                c[i2][j1] = '@';
            }
            check();
            for (int j2 = j1+ 1; j2 < w; j2++) {  // 2retsu
                string tmp3(h, '@');
                for (int i3 = 0; i3 < h; i3++) {
                    tmp3[i3] = c[i3][j2];
                    c[i3][j2] = '@';
                }
                check();
                for (int j3 = j2 + 1; j3 < w; j3++) {  // 3retsu
                    string tmp4(h, '@');
                    for (int i3 = 0; i3 < h; i3++) {
                        tmp4[i3] = c[i3][j3];
                        c[i3][j3] = '@';
                    }
                    check();
                    for (int j4 = j3 + 1; j4 < w; j4++) {  // 4retsu
                        string tmp5(h, '@');
                        for (int i3 = 0; i3 < h; i3++) {
                            tmp5[i3] = c[i3][j4];
                            c[i3][j4] = '@';
                        }
                        check();
                        for (int j5 = j4 + 1; j5 < w; j5++) {  // 5retsu
                            string tmp6(h, '@');
                            for (int i3 = 0; i3 < h; i3++) {
                                tmp6[i3] = c[i3][j5];
                                c[i3][j5] = '@';
                            }
                            check();
                            for (int j6 = j5 + 1; j6 < w; j6++) {  // 6retsu
                                string tmp7(h, '@');
                                for (int i3 = 0; i3 < h; i3++) {
                                    tmp7[i3] = c[i3][j6];
                                    c[i3][j6] = '@';
                                }
                                check();
                                for (int i3 = 0; i3 < h; i3++) {
                                    c[i3][j6] = tmp7[i3];
                                }
                            }
                            for (int i3 = 0; i3 < h; i3++) {
                                c[i3][j5] = tmp6[i3];
                            }
                        }
                        for (int i3 = 0; i3 < h; i3++) {
                            c[i3][j4] = tmp5[i3];
                        }
                    }
                    for (int i3 = 0; i3 < h; i3++) {
                        c[i3][j3] = tmp4[i3];
                    }
                }
                for (int i3 = 0; i3 < h; i3++) {
                    c[i3][j2] = tmp3[i3];
                }
            }
            for (int i3 = 0; i3 < h; i3++) {
                c[i3][j1] = tmp2[i3];
            }
        }
        for (int iii2 = i + 1; iii2 < h; iii2++) {
            string tmpi2 = c[iii2];
            for (int j = 0; j < w; j++) c[iii2][j] = '@';
            check();
            for (int j1 = 0; j1 < w; j1++) {  // 1retsu
            string tmp2(h, '@');
            for (int i2 = 0; i2 < h; i2++) {
                tmp2[i2] = c[i2][j1];
                c[i2][j1] = '@';
            }
            check();
            for (int j2 = j1+ 1; j2 < w; j2++) {  // 2retsu
                string tmp3(h, '@');
                for (int i3 = 0; i3 < h; i3++) {
                    tmp3[i3] = c[i3][j2];
                    c[i3][j2] = '@';
                }
                check();
                for (int j3 = j2 + 1; j3 < w; j3++) {  // 3retsu
                    string tmp4(h, '@');
                    for (int i3 = 0; i3 < h; i3++) {
                        tmp4[i3] = c[i3][j3];
                        c[i3][j3] = '@';
                    }
                    check();
                    for (int j4 = j3 + 1; j4 < w; j4++) {  // 4retsu
                        string tmp5(h, '@');
                        for (int i3 = 0; i3 < h; i3++) {
                            tmp5[i3] = c[i3][j4];
                            c[i3][j4] = '@';
                        }
                        check();
                        for (int j5 = j4 + 1; j5 < w; j5++) {  // 5retsu
                            string tmp6(h, '@');
                            for (int i3 = 0; i3 < h; i3++) {
                                tmp6[i3] = c[i3][j5];
                                c[i3][j5] = '@';
                            }
                            check();
                            for (int j6 = j5 + 1; j6 < w; j6++) {  // 6retsu
                                string tmp7(h, '@');
                                for (int i3 = 0; i3 < h; i3++) {
                                    tmp7[i3] = c[i3][j6];
                                    c[i3][j6] = '@';
                                }
                                check();
                                for (int i3 = 0; i3 < h; i3++) {
                                    c[i3][j6] = tmp7[i3];
                                }
                            }
                            for (int i3 = 0; i3 < h; i3++) {
                                c[i3][j5] = tmp6[i3];
                            }
                        }
                        for (int i3 = 0; i3 < h; i3++) {
                            c[i3][j4] = tmp5[i3];
                        }
                    }
                    for (int i3 = 0; i3 < h; i3++) {
                        c[i3][j3] = tmp4[i3];
                    }
                }
                for (int i3 = 0; i3 < h; i3++) {
                    c[i3][j2] = tmp3[i3];
                }
            }
            for (int i3 = 0; i3 < h; i3++) {
                c[i3][j1] = tmp2[i3];
            }
        }
            for (int iii3 = iii2 + 1; iii3 < h; iii3++) {
                string tmpi3 = c[iii3];
                for (int j = 0; j < w; j++) c[iii3][j] = '@';
                check();

                for (int j1 = 0; j1 < w; j1++) {  // 1retsu
            string tmp2(h, '@');
            for (int i2 = 0; i2 < h; i2++) {
                tmp2[i2] = c[i2][j1];
                c[i2][j1] = '@';
            }
            check();
            for (int j2 = j1+ 1; j2 < w; j2++) {  // 2retsu
                string tmp3(h, '@');
                for (int i3 = 0; i3 < h; i3++) {
                    tmp3[i3] = c[i3][j2];
                    c[i3][j2] = '@';
                }
                check();
                for (int j3 = j2 + 1; j3 < w; j3++) {  // 3retsu
                    string tmp4(h, '@');
                    for (int i3 = 0; i3 < h; i3++) {
                        tmp4[i3] = c[i3][j3];
                        c[i3][j3] = '@';
                    }
                    check();
                    for (int j4 = j3 + 1; j4 < w; j4++) {  // 4retsu
                        string tmp5(h, '@');
                        for (int i3 = 0; i3 < h; i3++) {
                            tmp5[i3] = c[i3][j4];
                            c[i3][j4] = '@';
                        }
                        check();
                        for (int j5 = j4 + 1; j5 < w; j5++) {  // 5retsu
                            string tmp6(h, '@');
                            for (int i3 = 0; i3 < h; i3++) {
                                tmp6[i3] = c[i3][j5];
                                c[i3][j5] = '@';
                            }
                            check();
                            for (int j6 = j5 + 1; j6 < w; j6++) {  // 6retsu
                                string tmp7(h, '@');
                                for (int i3 = 0; i3 < h; i3++) {
                                    tmp7[i3] = c[i3][j6];
                                    c[i3][j6] = '@';
                                }
                                check();
                                for (int i3 = 0; i3 < h; i3++) {
                                    c[i3][j6] = tmp7[i3];
                                }
                            }
                            for (int i3 = 0; i3 < h; i3++) {
                                c[i3][j5] = tmp6[i3];
                            }
                        }
                        for (int i3 = 0; i3 < h; i3++) {
                            c[i3][j4] = tmp5[i3];
                        }
                    }
                    for (int i3 = 0; i3 < h; i3++) {
                        c[i3][j3] = tmp4[i3];
                    }
                }
                for (int i3 = 0; i3 < h; i3++) {
                    c[i3][j2] = tmp3[i3];
                }
            }
            for (int i3 = 0; i3 < h; i3++) {
                c[i3][j1] = tmp2[i3];
            }
        }
                for (int iii4 = iii3 + 1; iii4 < h; iii4++) {
                    string tmpi4 = c[iii4];
                    for (int j = 0; j < w; j++) c[iii4][j] = '@';
                    check();

                    for (int j1 = 0; j1 < w; j1++) {  // 1retsu
            string tmp2(h, '@');
            for (int i2 = 0; i2 < h; i2++) {
                tmp2[i2] = c[i2][j1];
                c[i2][j1] = '@';
            }
            check();
            for (int j2 = j1+ 1; j2 < w; j2++) {  // 2retsu
                string tmp3(h, '@');
                for (int i3 = 0; i3 < h; i3++) {
                    tmp3[i3] = c[i3][j2];
                    c[i3][j2] = '@';
                }
                check();
                for (int j3 = j2 + 1; j3 < w; j3++) {  // 3retsu
                    string tmp4(h, '@');
                    for (int i3 = 0; i3 < h; i3++) {
                        tmp4[i3] = c[i3][j3];
                        c[i3][j3] = '@';
                    }
                    check();
                    for (int j4 = j3 + 1; j4 < w; j4++) {  // 4retsu
                        string tmp5(h, '@');
                        for (int i3 = 0; i3 < h; i3++) {
                            tmp5[i3] = c[i3][j4];
                            c[i3][j4] = '@';
                        }
                        check();
                        for (int j5 = j4 + 1; j5 < w; j5++) {  // 5retsu
                            string tmp6(h, '@');
                            for (int i3 = 0; i3 < h; i3++) {
                                tmp6[i3] = c[i3][j5];
                                c[i3][j5] = '@';
                            }
                            check();
                            for (int j6 = j5 + 1; j6 < w; j6++) {  // 6retsu
                                string tmp7(h, '@');
                                for (int i3 = 0; i3 < h; i3++) {
                                    tmp7[i3] = c[i3][j6];
                                    c[i3][j6] = '@';
                                }
                                check();
                                for (int i3 = 0; i3 < h; i3++) {
                                    c[i3][j6] = tmp7[i3];
                                }
                            }
                            for (int i3 = 0; i3 < h; i3++) {
                                c[i3][j5] = tmp6[i3];
                            }
                        }
                        for (int i3 = 0; i3 < h; i3++) {
                            c[i3][j4] = tmp5[i3];
                        }
                    }
                    for (int i3 = 0; i3 < h; i3++) {
                        c[i3][j3] = tmp4[i3];
                    }
                }
                for (int i3 = 0; i3 < h; i3++) {
                    c[i3][j2] = tmp3[i3];
                }
            }
            for (int i3 = 0; i3 < h; i3++) {
                c[i3][j1] = tmp2[i3];
            }
        }

                    for (int iii5 = iii4 + 1; iii5 < h; iii5++) {
                        string tmpi5 = c[iii5];
                        for (int j = 0; j < w; j++) c[iii5][j] = '@';
                        check();
                        for (int j1 = 0; j1 < w; j1++) {  // 1retsu
            string tmp2(h, '@');
            for (int i2 = 0; i2 < h; i2++) {
                tmp2[i2] = c[i2][j1];
                c[i2][j1] = '@';
            }
            check();
            for (int j2 = j1+ 1; j2 < w; j2++) {  // 2retsu
                string tmp3(h, '@');
                for (int i3 = 0; i3 < h; i3++) {
                    tmp3[i3] = c[i3][j2];
                    c[i3][j2] = '@';
                }
                check();
                for (int j3 = j2 + 1; j3 < w; j3++) {  // 3retsu
                    string tmp4(h, '@');
                    for (int i3 = 0; i3 < h; i3++) {
                        tmp4[i3] = c[i3][j3];
                        c[i3][j3] = '@';
                    }
                    check();
                    for (int j4 = j3 + 1; j4 < w; j4++) {  // 4retsu
                        string tmp5(h, '@');
                        for (int i3 = 0; i3 < h; i3++) {
                            tmp5[i3] = c[i3][j4];
                            c[i3][j4] = '@';
                        }
                        check();
                        for (int j5 = j4 + 1; j5 < w; j5++) {  // 5retsu
                            string tmp6(h, '@');
                            for (int i3 = 0; i3 < h; i3++) {
                                tmp6[i3] = c[i3][j5];
                                c[i3][j5] = '@';
                            }
                            check();
                            for (int j6 = j5 + 1; j6 < w; j6++) {  // 6retsu
                                string tmp7(h, '@');
                                for (int i3 = 0; i3 < h; i3++) {
                                    tmp7[i3] = c[i3][j6];
                                    c[i3][j6] = '@';
                                }
                                check();
                                for (int i3 = 0; i3 < h; i3++) {
                                    c[i3][j6] = tmp7[i3];
                                }
                            }
                            for (int i3 = 0; i3 < h; i3++) {
                                c[i3][j5] = tmp6[i3];
                            }
                        }
                        for (int i3 = 0; i3 < h; i3++) {
                            c[i3][j4] = tmp5[i3];
                        }
                    }
                    for (int i3 = 0; i3 < h; i3++) {
                        c[i3][j3] = tmp4[i3];
                    }
                }
                for (int i3 = 0; i3 < h; i3++) {
                    c[i3][j2] = tmp3[i3];
                }
            }
            for (int i3 = 0; i3 < h; i3++) {
                c[i3][j1] = tmp2[i3];
            }
        }

                        for (int iii6 = iii5 + 1; iii6 < h; iii6++) {
                            string tmpi6 = c[iii6];
                            for (int j = 0; j < w; j++) c[iii6][j] = '@';
                            check();
                            c[iii6] = tmpi6;
                        }
                        c[iii5] = tmpi5;
                    }
                    c[iii4] = tmpi4;
                }
                c[iii3] = tmpi3;
            }
            c[iii2] = tmpi2;
        }
        c[i] = tmp;
    }

    
    cout << ans << '\n';
    return 0;
}


Measured memory_bytes: 3632