#include <bits/stdc++.h>
using namespace std;
long long s1, s2;
long long a1, b1;
long long a2, b2;
long long a12 = 0, a13 = 0;
long long a22 = 0, a23 = 0;
long long t1, t2;
long long power(long long base, long long exp) {
  long long res = 1;
  for (int i = 0; i < exp; i++) {
    res *= base;
  }
  return res;
}
int main() {
  cin >> a1 >> b1 >> a2 >> b2;
  t1 = s1 = a1 * b1;
  t2 = s2 = a2 * b2;
  while (true) {
    if (t1 % 2 == 0) {
      t1 /= 2;
      a12++;
    } else if (t1 % 3 == 0) {
      t1 /= 3;
      a13++;
    } else {
      break;
    }
  }
  while (true) {
    if (t2 % 2 == 0) {
      t2 /= 2;
      a22++;
    } else if (t2 % 3 == 0) {
      t2 /= 3;
      a23++;
    } else {
      break;
    }
  }
  if (t1 != t2) {
    cout << -1;
    return 0;
  }
  long long min2 = min(a12, a22);
  long long min3 = min(a13, a23);
  a12 -= min2;
  a22 -= min2;
  a13 -= min3;
  a23 -= min3;
  long long gcd = t1 * power(2, min2) * power(3, min3);
  long long ans = 0;
  ans += a13 + a23;
  a12 += a13;
  a22 += a23;
  ans += abs(a12 - a22);
  gcd *= power(2, min(a12, a22));
  min2 = min(a12, a22);
  a12 -= min2;
  a22 -= min2;
  if (a13 > a23) {
    for (int i = 0; i < a13; i++) {
      if (a1 % 3 == 0) {
        a1 /= 3;
        a1 *= 2;
      } else {
        b1 /= 3;
        b1 *= 2;
      }
    }
  } else {
    for (int i = 0; i < a23; i++) {
      if (a2 % 3 == 0) {
        a2 /= 3;
        a2 *= 2;
      } else {
        b2 /= 3;
        b2 *= 2;
      }
    }
  }
  if (a12 > a22) {
    for (int i = 0; i < a12; i++) {
      if (a1 % 2 == 0) {
        a1 /= 2;
      } else {
        b1 /= 2;
      }
    }
  } else {
    for (int i = 0; i < a22; i++) {
      if (a2 % 2 == 0) {
        a2 /= 2;
      } else {
        b2 /= 2;
      }
    }
  }
  cout << ans << endl << a1 << " " << b1 << endl << a2 << " " << b2;
  return 0;
}
