func_code_string: #include <bits/stdc++.h>   using namespace std;   const double PI =       3.14159265358979323846264338327950288419716939937510582097494459230;   const long long MOD = 1e9 + 7;   const long long INF = 1e14;   long long mpow(long long a, long long b, long long p = MOD) {     a = a % p;     long long res = 1;     while (b > 0) {       if (b & 1) res = (res * a) % p;       a = (a * a) % p;       b = b >> 1;     }     return res % p;   }   const long long N = 4 * 100000;   long long n, m, b[N], a[N], g[N], h[N];   int main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     cin >> n >> m;     for (int i = 1; i <= (int)(n); ++i)       cin >> a[i], a[i] += a[i - 1], g[i] = 1e14;     for (int i = 1; i <= (int)(m); ++i)       cin >> b[i], b[i] += b[i - 1], h[i] = 1e14;     for (int i = 1; i <= (int)(n); ++i)       for (long long j = i; j <= n; j++)         g[j - i + 1] = min(g[j - i + 1], a[j] - a[i - 1]);     for (int i = 1; i <= (int)(m); ++i)       for (long long j = i; j <= m; j++)         h[j - i + 1] = min(h[j - i + 1], b[j] - b[i - 1]);     long long x;     cin >> x;     long long ans = 0;     for (int i = 1; i <= (int)(n); ++i)       for (int j = 1; j <= (int)(m); ++j) {         if (g[i] * h[j] <= x) {           ans = max(ans, (long long)(i * j));         }       }     cout << ans;     return 0;   }   