Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- #define D(x) cout<<#x<<" = "<<x<<endl
- #define mod 1000000007
- #define ll long long
- ll BM[105];
- ll INV[105];
- ll bigmod ( ll a, ll p )
- {
- if ( p == 0 )return 1;
- if ( p & 1) return ( ( a % mod) * ( bigmod ( a, p - 1 ) ) ) % mod;
- ll tmp = bigmod ( a, p / 2);
- return ( tmp * tmp ) % mod;
- }
- ll mul(ll a, ll b)
- {
- a = a%mod;
- b = b%mod;
- ll ret = (a*b) %mod;
- return ret;
- }
- ll sum(ll a, ll b)
- {
- a = a%mod;
- b = b%mod;
- ll ret = a+b;
- if(ret>=mod) ret-=mod;
- return ret;
- }
- void init()
- {
- BM[0] = INV[0]=1;
- for(int i = 1;i<=105;i++){
- BM[i] = (BM[i-1]*i)%mod;
- INV[i] = bigmod(BM[i],mod-2);
- }
- }
- ll solve(ll a,ll b)
- {
- ll div = mul(INV[b],INV[a-b]);
- ll ret = mul(BM[a],div);
- return ret;
- }
- int main()
- {
- ll tc, n, m, p, q, t;
- init();
- cin>>tc;
- while(tc--){
- cin>>n>>m>>p>>q>>t;
- int ans = 0;
- for(ll i = p ;i<=n;i++)
- {
- if(t-i<=m && t-i>=q){
- ans = sum(ans,mul(solve(n,i),solve(m,t-i)));
- }
- }
- cout<<ans<<endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement