local mod = 1000000007 local function badd(x, y) return (x + y) % mod end local n = io.read("*n") local t, dst = {}, {} for i = 1, 16 do t[i] = 0 end t[1] = 1 local tot = 1 for i = 1, n do for j = 1, 16 do dst[j] = 0 end for j = 1, 16 do local v = ((j - 1) * 2 + 0) % 16 + 1 dst[v] = badd(dst[v], t[j]) v = ((j - 1) * 2 + 1) % 16 + 1 dst[v] = badd(dst[v], t[j]) end for j = 1, 16 do t[j] = dst[j] end t[11] = 0 tot = badd(tot, tot) end local ans = 0 for i = 1, 16 do ans = badd(ans, t[i]) end print(badd(tot, mod - ans))