/*该题目,可以设想将N个方格弄成头尾相接的一个环形,然后根据递推的性质,
首先,设置一个数组,a[]。
用a[n]来存放这个环对应的方法数,根据这个作为递推的起点,
然后由a[n]=a[n-1]+a[n-2]*2来求解
n个方格可以由n-1个方格和n-2个方格填充得到。
比如,在一涂好的n-1个格子里最后再插入一个格子,就得到了n个格子了。
因为已经填好n-1的格子中,每两个格子的颜色都不相同。
所以只能插入一种颜色。而n-1个格子一共有F[n-1]种填涂方法。所以从n-1格扩充到n格共有F(n-1)种方法。
若前n-1不合法,而添加一个后变成合法,即前n-2个合法,而第n-1个与第1个相同。
这时候有两种填法。
可以理解为若a[n-1]与a[0]颜色相同,则添加的一个格子只有一种填法,
若a[n-1]与a[0]同,则a[n-2]与 a[0]相同,则最后有两种填法可得递归公式为*/
#include<stdio.h>
__int64 s[55];
int main()
{
int n;
int i;
s[0]=0;
s[1]=3;
s[2]=6;
s[3]=6;
for(i=4;i<=50;i++)
s[i]=s[i-1]+2*s[i-2];
while(scanf("%d",&n)==1)
{
printf("%I64d\n",s[n]);
}
return 0;
}