#include <cstring>
#include <iostream>
using namespace std;
#define ll long long
ll memo[2000][4][4];
ll dp(int col, int drow, int grow) {
// row out of bound
if (drow < 0 || 4 <= drow || grow < 0 || 4 <= grow)
return 0;
// d crossed with g
if (grow <= drow)
return 0;
// first column
if (col == 1) {
if (drow == 0 && grow == 3)
return 1;
else
return 0;
}
if (memo[col][drow][grow] != -1)
return memo[col][drow][grow];
memo[col][drow][grow] = 0;
memo[col][drow][grow] += dp(col-1, drow-1, grow-1);
memo[col][drow][grow] += dp(col-1, drow-1, grow+1);
memo[col][drow][grow] += dp(col-1, drow+1, grow-1);
memo[col][drow][grow] += dp(col-1, drow+1, grow+1);
memo[col][drow][grow] = memo[col][drow][grow] % 7;
return memo[col][drow][grow];
}
int main() {
int N;
cin >> N;
memset(memo, -1, sizeof(memo));
ll ans = 0;
for (int i = 0; i < 4; i++)
for (int j = i+1; j < 4; j++)
ans += dp(N, i, j);
cout << ans % 7 << endl;
}
I2luY2x1ZGUgPGNzdHJpbmc+CiNpbmNsdWRlIDxpb3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgbGwgbG9uZyBsb25nCgpsbCBtZW1vWzIwMDBdWzRdWzRdOwoKbGwgZHAoaW50IGNvbCwgaW50IGRyb3csIGludCBncm93KSB7CgkvLyByb3cgb3V0IG9mIGJvdW5kCglpZiAoZHJvdyA8IDAgfHwgNCA8PSBkcm93IHx8IGdyb3cgPCAwIHx8IDQgPD0gZ3JvdykKCQlyZXR1cm4gMDsKCS8vIGQgY3Jvc3NlZCB3aXRoIGcKCWlmIChncm93IDw9IGRyb3cpCgkJcmV0dXJuIDA7CgkvLyBmaXJzdCBjb2x1bW4KCWlmIChjb2wgPT0gMSkgewoJCWlmIChkcm93ID09IDAgJiYgZ3JvdyA9PSAzKQoJCQlyZXR1cm4gMTsKCQllbHNlCgkJCXJldHVybiAwOwoJfQoJaWYgKG1lbW9bY29sXVtkcm93XVtncm93XSAhPSAtMSkKCQlyZXR1cm4gbWVtb1tjb2xdW2Ryb3ddW2dyb3ddOwoJCQoJbWVtb1tjb2xdW2Ryb3ddW2dyb3ddID0gMDsKCW1lbW9bY29sXVtkcm93XVtncm93XSArPSBkcChjb2wtMSwgZHJvdy0xLCBncm93LTEpOwoJbWVtb1tjb2xdW2Ryb3ddW2dyb3ddICs9IGRwKGNvbC0xLCBkcm93LTEsIGdyb3crMSk7CgltZW1vW2NvbF1bZHJvd11bZ3Jvd10gKz0gZHAoY29sLTEsIGRyb3crMSwgZ3Jvdy0xKTsKCW1lbW9bY29sXVtkcm93XVtncm93XSArPSBkcChjb2wtMSwgZHJvdysxLCBncm93KzEpOwoJbWVtb1tjb2xdW2Ryb3ddW2dyb3ddID0gbWVtb1tjb2xdW2Ryb3ddW2dyb3ddICUgNzsKCQoJcmV0dXJuIG1lbW9bY29sXVtkcm93XVtncm93XTsKfQoKaW50IG1haW4oKSB7CglpbnQgTjsKCWNpbiA+PiBOOwoJbWVtc2V0KG1lbW8sIC0xLCBzaXplb2YobWVtbykpOwoJbGwgYW5zID0gMDsKCWZvciAoaW50IGkgPSAwOyBpIDwgNDsgaSsrKQoJCWZvciAoaW50IGogPSBpKzE7IGogPCA0OyBqKyspCgkJCWFucyArPSBkcChOLCBpLCBqKTsKCWNvdXQgPDwgYW5zICUgNyA8PCBlbmRsOwp9