/*
看來真是遺忘了很多知識點...這題也是搜完題解以後,才發現這題是用動態規劃的思路...
另,感覺高中數學時好像也學過這個問題,當時好像是用排列組合的思路來寫的,其實這題,也可以藉助排列組合來理解動態規劃的遞推式
2個小坑點:
1. 本質上說,遞推基礎應該是 f(2) 和 f(3),因爲有 3 個方格時,剛好是最特殊的一種情況
換種說法 n==3時,第 1 個方格和第(n-1)個方格必定不同色,如果此時再用遞推公式算,那就多算了一種情況,因而,運用遞推公式來算的思路,只能從 n 等於 4 開始用
2. 還是剛剛那個坑點,不該用 int 類型,改用 long long,否則會出現 int 型的溢出
查閱資料:
http://blog.csdn.net/zf______/article/details/46959951
http://blog.csdn.net/u013008291/article/details/40085897
*/
#include <iostream>
#define rep(i, k, n) for (int i = k; i < (n); i++)
typedef long long LL;
using namespace std;
const int N = 55;
int n;
LL f[N];
int main()
{
f[1] = 3; f[2] = f[3] = 6;
rep(i, 4, N) f[i] = f[i - 1] + 2 * f[i - 2];
while (cin >> n)
{
cout << f[n] << endl;
}
return 0;
}