using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

using static Input;
using static Util;
class Program
{
    static int H, W, K;
    static char[][] A;
    static void INPUT()
    {
        H = NextInt();
        W = NextInt();
        K = NextInt();
        A = new char[H][];
        for (int i = 0; i < H; i++)
            A[i] = NextString().ToCharArray();
    }

    static void OUT()
    {
        var hh = new int[H];
        var sum = 0;
        for (int i = 0; i < H; i++)
        {
            var c = 0;
            for (int j = 0; j < W; j++)
            {
                c += A[i][j] == '#' ? 1 : 0;
            }

            hh[i] = c;
            sum += c;
        }
        var ww = new int[W];
        for (int i = 0; i < W; i++)
        {
            var c = 0;
            for (int j = 0; j < H; j++)
            {
                c += A[j][i] == '#' ? 1 : 0;
            }

            ww[i] = c;
        }

        var count = 0;
        for (var h = 0; h < (1 << H); h++)
        {
            var hc = 0;
            var list = new List<int>();
            for (var i = 0; i < H; i++)
            {
                if (((h >> i) & 1) == 1)
                {
                    list.Add(i);
                    hc += hh[i];
                }
            }
            for (var w = 0; w < (1 << W); w++)
            {
                var c = hc;
                for (var i = 0; i < W; i++)
                {
                    if (((w >> i) & 1) == 1)
                    {
                        c += ww[i];
                        foreach (var hhh in list)
                        {
                            c -= A[hhh][i] == '#' ? 1 : 0;
                        }
                    }
                }

                count += (sum - c) == K ? 1 : 0;
                if (c == K)
                {
                    var aaa = h;
                    var bbb = w;
                }
            }

        }

        Console.WriteLine(count);
    }

    static void Main(string[] args)
    {
#if DEBUG  
        //TESTINPUT();
        INPUT();

#else
        INPUT();
#endif
        OUT();
    }

    static void TESTINPUT()
    {
    }

}

public class Input
{
    public const long MOD = 1000000007;
    public const int INF = 1000000007;
    private static Queue<string> q = new Queue<string>();
    private static void Confirm() { if (q.Count == 0) foreach (var s in Console.ReadLine().Split(' ')) q.Enqueue(s); }
    public static int NextInt() { Confirm(); return int.Parse(q.Dequeue()); }
    public static long NextLong() { Confirm(); return long.Parse(q.Dequeue()); }
    public static string NextString() { Confirm(); return q.Dequeue(); }
    public static double NextDouble() { Confirm(); return double.Parse(q.Dequeue()); }
    public static int[] LineInt() { return Console.ReadLine().Split(' ').Select(int.Parse).ToArray(); }
    public static long[] LineLong() { return Console.ReadLine().Split(' ').Select(long.Parse).ToArray(); }
    public static string[] LineString() { return Console.ReadLine().Split(' ').ToArray(); }
    public static double[] LineDouble() { return Console.ReadLine().Split(' ').Select(double.Parse).ToArray(); }
}

class Util
{
}


Measured memory_bytes: 18044