#include<iostream>
using namespace std;
int n,m,f[250][250][250]={},mod=1000000007;
int main()
{
cin >> n >> m;
f[0][0][2]=1;
for(int i=0;i<n+m;i++)
for(int j=0;j<n;j++)
for(int k=0;k<=m;k++)
{
if(f[i][j][k])
{
if(k<=50) f[i+1][j+1][2*k]=(f[i+1][j+1][2*k]+f[i][j][k])%mod;
if(k>0) f[i+1][j][k-1]=(f[i+1][j][k-1]+f[i][j][k])%mod;
}
}
cout << f[n+m][n][0] << endl;
return 0;
}
和题解差不多,就是把枚举花改成枚举店