#include <bits/stdc++.h>
#pragma warning(disable : 4996)
using namespace std;
long long a1, b1, a2, b2;
long long c1, c2;
long long a[2][2];
long long cnt[2][2];
int main() {
  int i, j, k;
  cin >> a1 >> b1 >> a2 >> b2;
  c1 = a1 * b1, c2 = a2 * b2;
  while (c1 % 2 == 0) {
    c1 /= 2, a[0][0]++;
  }
  while (c1 % 3 == 0) {
    c1 /= 3, a[0][1]++;
  }
  while (c2 % 2 == 0) {
    c2 /= 2, a[1][0]++;
  }
  while (c2 % 3 == 0) {
    c2 /= 3, a[1][1]++;
  }
  if (c1 != c2) {
    return printf("-1"), 0;
  }
  if (a[0][1] > a[1][1]) {
    cnt[0][1] += a[0][1] - a[1][1];
    a[0][0] += a[0][1] - a[1][1];
    a[0][1] = a[1][1];
  } else if (a[0][1] < a[1][1]) {
    cnt[1][1] += a[1][1] - a[0][1];
    a[1][0] += a[1][1] - a[0][1];
    a[1][1] = a[0][1];
  }
  if (a[0][0] > a[1][0]) {
    cnt[0][0] += a[0][0] - a[1][0];
  } else {
    cnt[1][0] += a[1][0] - a[0][0];
  }
  cout << cnt[0][0] + cnt[0][1] + cnt[1][0] + cnt[1][1] << endl;
  while (cnt[0][1] && a1 % 3 == 0) {
    a1 /= 3;
    a1 *= 2;
    cnt[0][1]--;
  }
  while (cnt[0][1] && b1 % 3 == 0) {
    b1 /= 3;
    b1 *= 2;
    cnt[0][1]--;
  }
  while (cnt[0][0] && a1 % 2 == 0) {
    a1 /= 2;
    cnt[0][0]--;
  }
  while (cnt[0][0] && b1 % 2 == 0) {
    b1 /= 2;
    cnt[0][0]--;
  }
  while (cnt[1][1] && a2 % 3 == 0) {
    a2 /= 3;
    a2 *= 2;
    cnt[1][1]--;
  }
  while (cnt[1][1] && b2 % 3 == 0) {
    b2 /= 3;
    b2 *= 2;
    cnt[1][1]--;
  }
  while (cnt[1][0] && a2 % 2 == 0) {
    a2 /= 2;
    cnt[1][0]--;
  }
  while (cnt[1][0] && b2 % 2 == 0) {
    b2 /= 2;
    cnt[1][0]--;
  }
  cout << a1 << " " << b1 << "\n" << a2 << " " << b2;
  return 0;
}
