#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define ll __int64 #define ull unsigned long long #define eps 1e-8 #define NMAX 1000000005 #define MOD 1000000007 #define lson l,mid,rt<<1 #define rson mid+1,r,rt<<1|1 #define PI acos(-1) template inline void scan_d(T &ret) { char c; int flag = 0; ret=0; while(((c=getchar())<'0'||c>'9')&&c!='-'); if(c == '-') { flag = 1; c = getchar(); } while(c>='0'&&c<='9') ret=ret*10+(c-'0'),c=getchar(); if(flag) ret = -ret; } ll dp[100005],sum[100005]; void cal() { ll a = 3,b = MOD-2,ret = 1; while(b) { if(b&1) ret = ret*a%MOD; a = a*a%MOD; b >>= 1; } cout<