#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; using namespace atcoder; typedef long long ll; typedef pair P; using lll=__int128_t; ll powmod(ll a, ll k, ll MOD){ lll ap=a, ans=1; while(k){ if(k&1){ ans*=ap; ans%=MOD; } ap=ap*ap; ap%=MOD; k>>=1; } return (ll)ans; } using mint=modint1000000007; int n; int k; int main() { cin>>n>>k; const ll MOD=1e9+7; mint ans1[100010]; if(n%2==0){ int r=powmod(2, k-1, n/2); for(int i=0; i