CSES - Shared codeLink to this code: https://cses.fi/paste/8dd075f80cfd540b1a760b/
#include<iostream>
#include <bits/stdc++.h>
using namespace std;
#define mod 1000000007
long long power(long long x,long long y){
	if(y==0){
		return 1;
	}
	long long p=power(x,y/2);
	p=p*p%mod;
	return (y%2==0)?p:(p*x)%mod;
}
long long inverse(long long n){
	
	long long ans=power(n,mod-2);
	return ans%mod;
	
}


int main()
{
	ios_base::sync_with_stdio(false);
    cin.tie(NULL);
	long long  n,m;
	cin>>n>>m;
	
	long long fact[1000000+1];
	fact[0]=1;
	fact[1]=1;
	for(int i=2;i<=1000000;i++){
		fact[i]=i*fact[i-1]%mod;
		fact[i]=fact[i]%mod;
	}
    long long ans=fact[n+m-1]%mod;
    
	ans*=inverse(fact[m]);
	
	ans%=mod;
	ans*=inverse(fact[n-1]);
	ans=ans%mod;
	cout<<ans<<"\n";
	return 0;
	
}