#include <iostream>
#include <vector>
#include <string>
using namespace std;

long long dp[200][2 << 14];

class DominoTiling {
public:
	long long count(vector<string>V) {
		int H = V.size(), W = V[0].size();
		dp[0][0] = 1;
		for (int i = 0; i < H*W; i++) {
			int cx = i / W, cy = i%W;
			for (int j = 0; j < (1 << W); j++) {
				if (V[cx][cy] == 'X' || (j&(1 << cy)) != 0) {
					if ((j&(1 << cy)) == 0)dp[i + 1][j] += dp[i][j];
					else dp[i + 1][j - (1 << cy)] += dp[i][j];
				}
				else {
					if (cy < W - 1 && V[cx][cy + 1] != 'X' && (j&(1 << (cy + 1))) == 0)dp[i + 1][j + (1 << (cy + 1))] += dp[i][j];
					if (cx < H - 1 && V[cx + 1][cy] != 'X' && (j&(1 << cy)) == 0)dp[i + 1][j + (1 << cy)] += dp[i][j];
				}
			}
		}
		return dp[H*W][0];
	}
};
int main() {
	DominoTiling eel;
	cout << eel.count({ "....","....","....","...." }) << endl;
	return 0;
}