#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef vector<int> vi;            typedef vector<vi> vii;
typedef vector<ll> vl;             typedef vector<vl> vll;
typedef pair<int,int> pi;          typedef pair<pi,int> pii;
typedef pair<ll,ll> pl;            typedef pair<pl,ll> pll;
typedef pair<int,bool> pib;        typedef pair<ll,bool> plb;

#define F first
#define S second
#define mp make_pair
#define pb push_back
#define pf push_front
#define pob pop_back
#define pof pop_front
#define in insert
#define er erase
//returns (a^n mod p)---------------------------------------------------------------------------------------------------------------
ll power(ll a,ll n,ll p)
{
	if(n == 0)
	{
		return 1;
	}
	else if(n%2 == 0)
	{
		ll ans = power(a,n/2,p);
		return (ans*ans)%p;
	}
	else 
	{
		ll ans = power(a,n-1,p);
		return (ans*a)%p;
	}
}

//returns (a^-1 mod p)(if p is prime)----------------------------------------------------------------------------------------------
ll inverse(ll a,ll p)
{
   return power(a,p-2,p);
}
//----------------------------------------------------------------------------------------------------------------------------------

string s[6];
int n,m,k;

void solve()
{
    cin>>n>>m>>k;
    for(int i=0;i<n;i++)
    {
    	cin>>s[i];
    }
    int cnt = 0;
    for(int i=0;i<n;i++)
    {
    	for(int j=0;j<m;j++)
    	{
    		if(s[i][j] == '#')
    		{
    			cnt++;
    		}
    	}
    }
    if(cnt < k)
    {
    	cout<<0<<endl;
    }
    else
    {
        vii vn,vm;
        for(int i=0;i<n;i++)
        {
           int x = vn.size();
           for(int j=0;j<x;j++)
           {
           	  vi v = vn[j];
           	  v.pb(i);
           	  vn.pb(v);
           }
           vi v;
           v.pb(i);
           vn.pb(v);
        }
        for(int i=0;i<m;i++)
        {
           int x = vm.size();
           for(int j=0;j<x;j++)
           {
           	  vi v = vm[j];
           	  v.pb(i);
           	  vm.pb(v);
           }
           vi v;
           v.pb(i);
           vm.pb(v);
        }
        vi v;
        vm.pb(v);
        vn.pb(v);
        int ans = 0;
        for(int i=0;i<(int)vn.size();i++)
        {
        	for(int j=0;j<(int)vm.size();j++)
        	{
        		int curr_cnt = 0;
        		for(int l=0;l<vn[i].size();l++)
        		{
        			for(int r=0;r<m;r++)
        			{
        				if(s[vn[i][l]][r] == '#')
        				{
        					curr_cnt++;
        				}
        			}
        		}
        		for(int l=0;l<vm[j].size();l++)
        		{
        			for(int r=0;r<n;r++)
        			{
        				if(s[r][vm[j][l]] == '#')
        				{
        					curr_cnt++;
        				}
        			}
        		}
        		for(int l=0;l<vn[i].size();l++)
        		{
        			for(int r=0;r<vm[j].size();r++)
        			{
        				if(s[vn[i][l]][vm[j][r]] == '#')
        				{
        					curr_cnt--;
        				}
        			}
        		}
        		if(cnt-curr_cnt == k)
        		{
                    ans++;
        		}
        	}
        }
        cout<<ans<<endl;
    }

}


int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
#ifdef PAVANSAI006
    freopen("inp.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
    freopen("err.txt", "w", stderr);
#endif
    ll t = 1;
    //cin>>t;
    while(t--)
    {
    	solve();
    }
    
}

Measured memory_bytes: 3640