func_code_string: #include <bits/stdc++.h>   using namespace std;   long long a1, b1, a2, b2;   int main() {     cin >> a1 >> b1 >> a2 >> b2;     long long t1, t2, t3, t4;     t1 = a1 * b1;     t2 = a2 * b2;     int c12, c13;     int c22, c23;     c12 = c13 = c22 = c23 = 0;     while (t1 % 2LL == 0LL) {       c12++;       t1 /= 2LL;     }     while (t1 % 3LL == 0LL) {       c13++;       t1 /= 3LL;     }     while (t2 % 2LL == 0LL) {       c22++;       t2 /= 2LL;     }     while (t2 % 3LL == 0LL) {       c23++;       t2 /= 3LL;     }     if (t1 != t2) {       cout <<  -1  << endl;       return 0;     }     int d13, d23;     int d12, d22;     d13 = d23 = 0;     while (c13 > c23) c13--, c12++, d13++;     while (c23 > c13) c23--, c22++, d23++;     d12 = d22 = 0;     if (c12 > c22)       d12 = c12 - c22;     else       d22 = c22 - c12;     cout << d12 + d22 + d23 + d13 << endl;     while (d13) {       if (a1 % 3 == 0) {         a1 /= 3LL;         a1 *= 2LL;       } else {         b1 /= 3LL;         b1 *= 2LL;       }       d13--;     }     while (d12) {       if (a1 % 2LL == 0) {         a1 /= 2LL;       } else {         b1 /= 2LL;       }       d12--;     }     while (d23) {       if (a2 % 3 == 0) {         a2 /= 3LL;         a2 *= 2LL;       } else {         b2 /= 3LL;         b2 *= 2LL;       }       d23--;     }     while (d22) {       if (a2 % 2 == 0) {         a2 /= 2LL;       } else {         b2 /= 2LL;       }       d22--;     }     cout << a1 <<     << b1 << endl;     cout << a2 <<     << b2 << endl;     ;     return 0;   }   