#include <stdio.h>
#define MaxN 100
int m[3][MaxN];
int f(int n)
{
int i;
m[0][1] = m[1][1] = m[2][1] = 1;
for (i = 2; i <= n; i++)
{
m[0][i] = m[0][i-1] + m[1][i-1] + m[2][i-1];
m[1][i] = m[0][i-1] + m[2][i-1];
m[2][i] = m[0][i-1] + m[1][i-1];
}
return m[0][n] + m[1][n] + m[2][n];
}
int main()
{
int i;
for (; scanf("%d\n", &i
) > 0 && i
< MaxN
; printf("f(%d) = %d\n", i
, f
(i
)));
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIE1heE4gMTAwCgppbnQgbVszXVtNYXhOXTsKCmludCBmKGludCBuKQp7CiAgICBpbnQgaTsKICAgIAogICAgbVswXVsxXSA9IG1bMV1bMV0gPSBtWzJdWzFdID0gMTsKICAgIAogICAgZm9yIChpID0gMjsgaSA8PSBuOyBpKyspCiAgICB7CiAgICAgICAgbVswXVtpXSA9IG1bMF1baS0xXSArIG1bMV1baS0xXSArIG1bMl1baS0xXTsKICAgICAgICBtWzFdW2ldID0gbVswXVtpLTFdICsgbVsyXVtpLTFdOwogICAgICAgIG1bMl1baV0gPSBtWzBdW2ktMV0gKyBtWzFdW2ktMV07CiAgICB9CiAgICAKICAgIHJldHVybiBtWzBdW25dICsgbVsxXVtuXSArIG1bMl1bbl07Cn0KCmludCBtYWluKCkKewogICAgaW50IGk7CgogICAgZm9yICg7IHNjYW5mKCIlZFxuIiwgJmkpID4gMCAmJiBpIDwgTWF4TjsgcHJpbnRmKCJmKCVkKSA9ICVkXG4iLCBpLCBmKGkpKSk7CiAgICAKICAgIHJldHVybiAwOwp9