#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define N 200010
const ll mod=1e9+7;

int n,m;
ll ans;
ll fac[N],inv[N];

ll C(int x,int y) {
	return fac[x]*inv[y]%mod*inv[x-y]%mod;
}

ll power(ll x,ll y) {
	ll ans=1;
	for (;y;x=x*x%mod,y>>=1)
		if (y&1) ans=ans*x%mod;
	return ans;
}

int main()
{
	fac[0]=1; for (int i=1;i<=200000;i++) fac[i]=fac[i-1]*i%mod;
	inv[200000]=power(fac[200000],mod-2);
	for (int i=199999;i>=0;i--) inv[i]=inv[i+1]*(i+1)%mod;
	scanf("%d%d",&n,&m);
	for (int i=1;i<m;i++)
		for (int j=1;j<=m-i;j++)
		{
			if ((m-i)+(m-i-j)>n) continue;
			ans=(ans+C(m-1,i-1)*C(m-i-1,j-1)%mod*C(n-(m-i)-(m-i-j)+2,2)%mod)%mod;
		}
	ans+=(n+1);
	printf("%lld\n",ans%mod);
	return 0;
}