#include <stdio.h>

int main() 
{
    int n=0,m=0;
    long long int mod;
    scanf("%d%d",&n,&m);
    if(n==1||m==1)
    mod=1;
    else
    {
        long long int a=1,b=1,c=1;
        const int g=1000000007;
        for(int i=m+n-2;i>0;i--)
        {
            a=a*i%g;
        }
        for(int j=m-1;j>0;j--)
        {
            b=b*j%g;
        }
        for(int u=n-1;u>0;u--)
        {
            c=c*u%g;
        }
        long long int x=(b*c)%g,y=g-2,z=1;
        for(;y;)
        {
            if(y&1)
            z=(z*x)%g;
            x=x*x%g;
            y=y>>1;
        }
        mod=(a*z)%g;
    }
    printf("%lld",mod);
    return 0;
}