func_code_string: #include <bits/stdc++.h>   using namespace std;   constexpr long long MOD = (long long)1e9 + 7;   long long fexp(long long a, long long n) {     a %= MOD;     if (n == 0) return 1;     long long ret = fexp(a * a % MOD, n / 2);     if (n % 2 == 1) ret = ret * a % MOD;     return ret;   }   long long blub(long long pa, long long pb) {     return pa * fexp((pa + pb) % MOD, MOD - 2) % MOD;   }   int main() {     long long k, pa, pb;     cin >> k >> pa >> pb;     long long ppa = blub(pa, pb);     long long ppb = blub(pb, pa);     vector<vector<long long>> dp(k + 1, vector<long long>(k, 0));     long long res = 0;     dp[1][0] = 1;     for (int i = 1; i < k; ++i) {       for (int j = 0; j < k; ++j) {         dp[i + 1][j] = (dp[i + 1][j] + dp[i][j] * ppa) % MOD;         if (j + i < k)           dp[i][j + i] = (dp[i][j + i] + dp[i][j] * ppb) % MOD;         else {           res = (res + (j + i) * dp[i][j] % MOD * ppb) % MOD;         }       }     }     for (int i = 0; i < k; ++i) {       res = (res + ppb * dp[k][i] % MOD *                        (ppa * fexp((1 - ppa) * (1 - ppa), MOD - 2) % MOD +                         (i + k) * fexp(1 - ppa, MOD - 2) % MOD)) %             MOD;     }     cout << (res % MOD + MOD) % MOD << endl;   }   