#include #define L long long using namespace std; L N,M,P=1e9+7,f[1000005],i,a; L k(L x,L y){L r=1;for(;y;y/=2,x=x*x%P)if(y%2)r=r*x%P;return r;} L C(L n,L r){if(r<0||r>n)return 0;return f[n]*k(f[r]*f[n-r]%P,P-2)%P;} int main(){ cin>>N>>M; for(f[0]=i=1;i<=M;i++)f[i]=f[i-1]*i%P; for(L v=-M;v<=M;v++){ if((M+v)%2==0){ L d=v%(2*N);if(d<0)d+=2*N; if(d==0||d==2*N-1)a=(a+C(M,(M+v)/2))%P; } } cout<