func_code_string: #include <bits/stdc++.h>   using namespace std;   long long n, m, k;   string s;   int MOD = 1e9 + 7;   const int INF = 1e9;   const long long INF64 = 2e18;   const double PI = 3.141592653589793238463;   long long ar[1000004], ar1[1000004], vis[1000004], pre[1000004], dp[3004][3004];   vector<long long> gr[1000004], path;   set<long long> myset;   pair<long long, long long> seg[1000004];   map<long long, long long> mymap;   long long c = 0;   string st1[1000004], st2[1000004];   vector<long long> arr[1000004];   int comp(pair<long long, long long> a, pair<long long, long long> b) {     return a.second < b.second;   }   int gcd(int a, int b) {     if (a == 0) return b;     return gcd(b % a, a);   }   int main() {     std::ios_base::sync_with_stdio(false);     std::cin.tie(nullptr);     cin >> n;     double w, cargo;     cin >> w;     for (int i = 0; i < int(n); i++) cin >> ar[i];     for (int i = 0; i < int(n); i++) cin >> ar1[i];     if (ar[0] == 1 || ar1[0] == 1) return cout << -1, 0;     cargo = w;     w += w / (ar1[0] - 1);     for (int i = n - 1; i > 0; i--) {       if (ar[i] == 1 || ar1[i] == 1) return cout << -1, 0;       w += w / (ar[i] - 1);       w += w / (ar1[i] - 1);     }     w += w / (ar[0] - 1);     return printf( %10.10f , w - cargo), 0;   }   