class Solution {
public:
int numWays(int s,int b) {
int len=min(s/2,b-1)+1;
vector<int> v1(len, 0);
v1[0]=1;
for(int i=1;i<=s;i++){
vector<int> v2(len);
for(int j=0;j<len;j++) {
v2[j]=v1[j];
if(j-1>=0)v2[j]=(0LL+v2[j]+v1[j-1])%1000000007;
if(j+1<=len-1)v2[j]=(0LL+v2[j]+v1[j+1])%1000000007;
}
v1=move(v2);
}
return v1[0]%1000000007;
}
};