#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int LL; typedef pair P; typedef pair LP; const int INF=1<<30; const LL MAX=1e9+7; void array_show(int *array,int array_n,char middle=' '){ for(int i=0;i &vec_s,int vec_n=-1,char middle=' '){ if(vec_n==-1)vec_n=vec_s.size(); for(int i=0;i &vec_s,int vec_n=-1,char middle=' '){ if(vec_n==-1)vec_n=vec_s.size(); for(int i=0;i>n>>m; a=0,b=1; if(n==1){ cout<<0<=MAX)b%=MAX; s[0]+=b,s[1]+=b*b; if(s[0]>=MAX)s[0]%=MAX; if(s[1]>=MAX)s[1]%=MAX; } a=s[0]*s[0]+s[1]; if(a%2==1)a+=MAX; a/=2; cout<