#pragma GCC optimize("Ofast") #pragma GCC target("avx2") #define rd() ({ long v=0;{long _c;while(_c=*rp++-48,_c>=0)v=v*10+_c;}v; }) #define wt(v) {ulong _z=v,_n=0,_d=0;while(++_n,_d=_d<<8|0x30|_z%10,_z/=10);*(ulong*)wp=_d;wp+=_n;} #define wtrev(v) {ulong _z=v;do*--wprev=_z%10+48;while(_z/=10);} #define rep(v,e) for(long v=0;v>6)+1; ulong r=x&63; rep(j,q){ kp[i][j]=kp[i+1][j]; } if(r){ rep(j,KPLEN-q){ kp[i][j+q]=kp[i+1][j+q]|kp[i+1][j+1]<>64-r; } } else{ rep(j,KPLEN-q){ kp[i][j+q]=kp[i+1][j+q]|kp[i+1][j+1]; } } } if(kp[0][(m>>6)+1]&1l<y){ long t=m-a[i]; if(t>=0&&kp[i+1][(t>>6)+1]&1l<