func_code_string: #include <bits/stdc++.h>   using namespace std;   long long int mul(long long int a, long long int b) {     return ((a % int(1e9 + 7)) * (b % int(1e9 + 7))) % int(1e9 + 7);   }   long long int add(long long int a, long long int b) {     return ((a % int(1e9 + 7)) + (b % int(1e9 + 7))) % int(1e9 + 7);   }   long long int sub(long long int a, long long int b) {     long long int ans = ((a % int(1e9 + 7)) - (b % int(1e9 + 7))) % int(1e9 + 7);     ans %= int(1e9 + 7);     ans = (ans + int(1e9 + 7)) % int(1e9 + 7);     return ans;   }   long long int mpow(long long int a, long long int b) {     long long int ans = 1;     long long int po = a;     while (b != 0) {       if (b % 2) {         ans = ((ans % int(1e9 + 7)) * (po % int(1e9 + 7))) % int(1e9 + 7);       }       po = ((po % int(1e9 + 7)) * (po % int(1e9 + 7))) % int(1e9 + 7);       b /= 2;     }     return ans;   }   void solve() {     long long int h, w;     cin >> h >> w;     long long int ans = 0, ffh, ffw;     for (int i = 0; i < 2; i++) {       if (i) swap(w, h);       if (i) swap(ffw, ffh);       long long int fh = 1LL << (long long int)floor(log2(h) + 1e-6);       while (w < fh / 1.25) {         fh /= 2;       }       long long int fw = min(w, (long long int)(fh / .8 + 1e-6));       if (ans < fh * fw) {         ans = fh * fw;         ffh = fh;         ffw = fw;       } else if (ans == fh * fw) {         if (i == 0 and fh > ffh) {           ffh = fh;           ffw = fw;         } else if (i == 1 and fw > ffw) {           ffh = fh;           ffw = fw;         }       }       if (i) {         swap(w, h);         swap(ffw, ffh);       }     }     cout << ffh <<     << ffw <<   n ;   }   signed main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     long long int t;     solve();   }   