#include <bits/stdc++.h>
using namespace std;
long long int a[5], b[5], cnt[4][4][4], nr[4][4];
;
void c(long long int i1, long long int i2, long long int nr) {
  long long int res = 0;
  while (nr % 2 == 0) {
    res++;
    nr /= 2;
  }
  cnt[i1][i2][1] = res;
  res = 0;
  while (nr % 3 == 0) {
    res++;
    nr /= 3;
  }
  cnt[i1][i2][2] = res;
  cnt[i1][i2][0] = nr;
}
long long int pow(long long int x, long long int p) {
  long long int i, res = 1;
  for (i = 1; i <= p; i++) res = res * x;
  return res;
}
int main() {
  long long int ans = 0, l;
  cin >> a[1] >> b[1] >> a[2] >> b[2];
  c(1, 1, a[1]);
  c(1, 2, b[1]);
  c(2, 1, a[2]);
  c(2, 2, b[2]);
  if (cnt[1][1][0] * cnt[1][2][0] == cnt[2][1][0] * cnt[2][2][0]) {
    nr[1][1] = cnt[1][1][1] + cnt[1][2][1];
    nr[1][2] = cnt[1][1][2] + cnt[1][2][2];
    nr[2][1] = cnt[2][1][1] + cnt[2][2][1];
    nr[2][2] = cnt[2][1][2] + cnt[2][2][2];
    if (nr[1][2] < nr[2][2]) {
      l = nr[2][2] - nr[1][2];
      ans += l;
      cnt[2][1][2] -= l;
      cnt[2][1][1] += l;
      nr[2][1] += l;
      if (cnt[2][1][2] < 0) {
        cnt[2][2][2] += cnt[2][1][2];
        cnt[2][2][1] -= cnt[2][1][2];
        cnt[2][1][1] += cnt[2][1][2];
        cnt[2][1][2] = 0;
      }
    } else if (nr[1][2] > nr[2][2]) {
      l = nr[1][2] - nr[2][2];
      ans += l;
      cnt[1][1][2] -= l;
      cnt[1][1][1] += l;
      nr[1][1] += l;
      if (cnt[1][1][2] < 0) {
        cnt[1][2][2] += cnt[1][1][2];
        cnt[1][2][1] -= cnt[1][1][2];
        cnt[1][1][1] += cnt[1][1][2];
        cnt[1][1][2] = 0;
      }
    }
    if (nr[1][1] < nr[2][1]) {
      l = nr[2][1] - nr[1][1];
      ans += l;
      cnt[2][1][1] -= l;
      if (cnt[2][1][1] < 0) {
        cnt[2][2][1] += cnt[2][1][1];
        cnt[2][1][1] = 0;
      }
    }
    if (nr[1][1] > nr[2][1]) {
      l = nr[1][1] - nr[2][1];
      ans += l;
      cnt[1][1][1] -= l;
      if (cnt[1][1][1] < 0) {
        cnt[1][2][1] += cnt[1][1][1];
        cnt[1][1][1] = 0;
      }
    }
  } else {
    cout << -1;
    return 0;
  }
  cout << ans << "\n";
  cout << cnt[1][1][0] * pow(2, cnt[1][1][1]) * pow(3, cnt[1][1][2]) << " "
       << cnt[1][2][0] * pow(2, cnt[1][2][1]) * pow(3, cnt[1][2][2]) << "\n";
  cout << cnt[2][1][0] * pow(2, cnt[2][1][1]) * pow(3, cnt[2][1][2]) << " "
       << cnt[2][2][0] * pow(2, cnt[2][2][1]) * pow(3, cnt[2][2][2]) << "\n";
  return 0;
}
