Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #pragma GCC optimize(fast-math)
- #define int long long
- using namespace std;
- int pow(int a,int b,int c) {
- if (b==0 || a==1) return 1;
- if (b%2==0) {int k=pow(a,b/2,c); return (k*k)%c; }
- else { int k=pow(a,b/2,c); return (((k*k)%c)*a)%c; }
- }
- int inv(int a, int mod) {
- return pow(a,mod-2,mod);
- }
- signed main() {
- ios_base::sync_with_stdio(0);
- cin.tie(0);
- cout.tie(0);
- /* --------- */
- int ans=0;
- int n,m,l;
- cin>>n>>m>>l;
- int mod=1000000007;
- int cur=1;
- for (int i=1;i<=l && i*m<=n;i++) {
- for (int j=1;j<=m;j++) {
- cur*=n+1-(i-1)*m-j;
- cur%=mod;
- cur*=inv((i-1)*m+j,mod);
- // cout<<cur<<"\n";
- cur%=mod;
- // cout<<cur<<"\n";
- }
- ans+=cur;
- ans%=mod;
- }
- cout<<ans;
- /* --------- */
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement