#include <iostream>//---------------模拟、动态规划
#include <array>
using namespace std;
array<array<int, 3>, 33> a{0};//------a【i】【j】表示第i个月,j+1个月大的兔子的数量
int main() {
  a[1][0] = 1;
  int n;
  cin >> n;
  for(int i = 1; i <= n; i++){//-------状态转移方程
    a[i + 1][2] = a[i][2] + a[i][1];
    a[i + 1][1] = a[i][0];
    a[i + 1][0] = a[i][2] + a[i][1];
  }
  cout << a[n][2] + a[n][1] + a[n][0];
}
// 64 位输出请用 printf("%lld")