#line 1 "a.cpp" #include #include using namespace std; #line 1 "/home/kotatsugame/library/math/squarematrix.cpp" #include template struct Matrix{ array,N>dat; array&operator[](int i){return dat[i];} const array&operator[](int i)const{return dat[i];} static Matrix eye(){ Matrix res; for(int i=0;i>=1)if(n&1)res=res*a; return res; } }; #line 5 "a.cpp" using mint=atcoder::modint1000000007; using mat=Matrix; main() { long N,A,B,K; cin>>N>>A>>B>>K; if(N==1) { cout<