#include <iostream>
#include <vector>
#include <math.h>

using namespace std;

int getOne(int num) {
    int ret = 0;
    int tmp;
    while (num) {
        ret++;
        tmp = num - 1;
        num = num & tmp;
    }
    return ret;
}

int main() {
    int n, p, q;
    cin >> n >> p >> q;
    long long sum = 0;
    int pp = n - q;
    int count = 0;
    //if (p == n-q)
      //  return 
    for (int i = 0; i < pow(2, n); i++) {
        int ones = getOne(i);
        cout << "ones:" << ones << endl;
        if (ones >= p && ones <=pp) {
            count++;
            sum += ones;
        }
    }
    cout << "sum:" << sum << " count:" << count << endl;
    cout << 1000000007 << endl;
    cout << sum * 1000000007 / count << endl;
}

这个取模真是服,卡在取模上了