func_code_string: #include <bits/stdc++.h>   using namespace std;   template <class T>   inline void read(T &k) {     k = 0;     int flag = 1;     char c = getchar();     while (c <  0  || c >  9 ) {       if (c ==  - ) flag = -1;       c = getchar();     }     while (c >=  0  && c <=  9 ) {       k = k * 10 + c -  0 ;       c = getchar();     }     k *= flag;   }   const int N = 1005;   int n, m, k, s, t;   long long pa, pb, f[N][N], A, B;   void exgcd(long long a, long long b, long long &x, long long &y) {     if (a == 0) {       x = 0;       y = 1;       return;     }     exgcd(b % a, a, y, x);     x -= b / a * y;   }   long long inv(long long a) {     long long x, y;     exgcd(a, 1000000007, x, y);     return x;   }   int main() {     cin >> k >> pa >> pb;     A = pa * inv(pa + pb) % 1000000007;     B = pb * inv(pa + pb) % 1000000007;     for (int i = k; i >= 1; --i)       for (int j = k - 1; j >= 0; --j) {         if (i + j >= k) {           f[i][j] = (i + j + pa * inv(pb)) % 1000000007;         } else {           f[i][j] = (A * f[i + 1][j] + B * f[i][i + j]) % 1000000007;         }       }     cout << (f[1][0] + 1000000007) % 1000000007 << endl;   }   