#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int llint; typedef long double lldo; #define mp make_pair #define mt make_tuple #define pub push_back #define puf push_front #define pob pop_back #define pof pop_front #define fir first #define sec second #define res resize #define ins insert #define era erase llint modnum; llint zro,iti,go,sazyu; void mod(llint &in){ llint bgen=modnum; for(llint h=zro;h=zro;h--){ if(bgen<=in){in-=bgen;} bgen>>=iti; } } llint kake(llint a,llint b){ llint ans=zro,gen=a; for(int h=zro;h>n; llint a=iti,b=iti; llint keta=zro; llint nn=n; while(nn>zro){nn>>=iti;keta++;} keta--; keta--; while(keta>=zro){ llint bba=b+b+modnum-a;mod(bba); llint aaa=kake(a,bba); llint bbb=kake(a,a)+kake(b,b); a=aaa; b=bbb; mod(a); mod(b); if(n&(iti<>T; vectoraaaaa(T); zro=aaaaa.back(); iti=zro;iti++; go=iti+iti+iti+iti+iti; sazyu=go+go+go+go+go+go; modnum=go+go; modnum=kake(modnum,modnum); modnum=kake(modnum,modnum); modnum=kake(modnum,modnum); modnum=kake(modnum,go+go); modnum+=go+go-iti-iti-iti; while(T--){solve();} }