#include using namespace std; #define modulo 1000000007 #define mod(mod_x) ((((long long)mod_x+modulo))%modulo) #define Inf 1000000000000000010 int beki(int a,int b){ int x = 1; while(b!=0){ if(b&1){ x=mod(x*a); } a=mod(a*a); b>>=1; } return x; } int gyakugen(int a){ return beki(a,modulo-2); } struct matrix{ vector> value; matrix(int height,int width){ value.resize(height,vector(width,0)); if(height==width){ for(int i=0;i(width,0)); for(int i=0;i> &V){ value = V; } void set_value(initializer_list list){ auto it = list.begin(); for(int i=0;i>=1; } return R; } long long f(long long x){ vector dp(7,0); dp[0] = 1; for(int i=0;i=dp.size())continue; dp[i+j] = mod(dp[i+j] + mod(dp[i] * gyakugen(6))); } } return dp[x]; } int main(){ long long N; cin>>N; if(N<=6){ cout<