func_code_string: #include <bits/stdc++.h>   long long k, pa, pb, dp[1107][1107];   int main() {     scanf( %lld%lld%lld , &k, &pa, &pb);     long long invb = 1, base = pb;     for (int t = 1000000007 - 2; t; t >>= 1, (base *= base) %= 1000000007)       if (t & 1) (invb *= base) %= 1000000007;     long long inva_b = 1;     base = pa + pb;     for (int t = 1000000007 - 2; t; t >>= 1, (base *= base) %= 1000000007)       if (t & 1) (inva_b *= base) %= 1000000007;     long long invab = pa * invb % 1000000007;     pa *= inva_b;     pa %= 1000000007;     pb *= inva_b;     pb %= 1000000007;     for (int i = k; ~i; --i)       for (int j = k; ~j; --j)         if (i + j >= k)           dp[i][j] = (i + j + invab) % 1000000007;         else           dp[i][j] =               pa * dp[i + 1][j] % 1000000007 + pb * dp[i][i + j] % 1000000007,           dp[i][j] %= 1000000007;     printf( %lld n , dp[1][0]);     return 0;   }   