#include <fstream>
#include <iostream>
#include <set>
#define NMAX 14
using namespace std;
int sol[14];
int n;
set < long long int> s;
int aj[14];
int dx[5] = { 0,-1,0,1,0 };
int dy[5] = { 0,0,1,0,-1 };
bool uz[40][40];
void bkt(int k,int x ,int y);
int total;
int main()
{
	cin >> n;
	n--;
	uz[15][15] = 1;
	bkt(1,15,15);
	cout << total << '\n';
	return 0;	
}
void bkt(int k, int x, int y)
{
	if (k == n + 1)
	{
		//check
		long long int numar = 0;;
		long long int echivalent = 0;
		for (int i = 1; i <= n; i++)
		{
			numar += sol[i];
			numar *= 10;
			if (sol[i]==3 || sol[i]== 1 )
				aj[n - i + 1] = 4 - sol[i];
			if (sol[i] == 2 || sol[i] == 4)
				aj[n - i + 1] = 6 - sol[i];
		}
		for (int i = 1; i <= n; i++)
		{
			echivalent += aj[i];
			echivalent *= 10;
		}
		if (s.find(numar) == s.end() && s.find(echivalent) == s.end())
		{
			total++;
			s.insert(numar);
			/*for (int i = 1; i <= n; i++)
			{
				cout << sol[i] << ' ';
			}
			cout << '\n';*/
		}
		return;
	}
	for (int i = 1; i <= 4; i++)
	{
		sol[k] = i;
		if (uz[x + dx[i]][y + dy[i]] == 0)
		{
			uz[x + dx[i]][y + dy[i]] = 1;
			bkt(k + 1, x + dx[i], y + dy[i]);
			uz[x + dx[i]][y + dy[i]] = 0;
		}

	}
}