#include <bits/stdc++.h>
using namespace std;
long long a1, b1, a2, b2;
int cnt1_2, cnt1_3, cnt2_2, cnt2_3;
int main() {
  ios_base::sync_with_stdio(false);
  cin >> a1 >> b1 >> a2 >> b2;
  long long p1 = a1, p2 = b1, p3 = a2, p4 = b2;
  while (a1 % 2 == 0) ++cnt1_2, a1 /= 2;
  while (b1 % 2 == 0) ++cnt1_2, b1 /= 2;
  while (a1 % 3 == 0) ++cnt1_3, a1 /= 3;
  while (b1 % 3 == 0) ++cnt1_3, b1 /= 3;
  while (a2 % 2 == 0) ++cnt2_2, a2 /= 2;
  while (b2 % 2 == 0) ++cnt2_2, b2 /= 2;
  while (a2 % 3 == 0) ++cnt2_3, a2 /= 3;
  while (b2 % 3 == 0) ++cnt2_3, b2 /= 3;
  if ((long long)a1 * b1 != (long long)a2 * b2) {
    printf("-1");
    return 0;
  }
  a1 = p1;
  b1 = p2;
  a2 = p3;
  b2 = p4;
  long long res = 0;
  if (cnt1_3 > cnt2_3) {
    res += cnt1_3 - cnt2_3;
    int cnt = 0;
    while (cnt < res) {
      ++cnt;
      if (a1 % 3 == 0) {
        a1 /= 3;
        a1 <<= 1;
      } else {
        b1 /= 3;
        b1 <<= 1;
      }
    }
    cnt1_2 += res;
  } else if (cnt2_3 > cnt1_3) {
    res += cnt2_3 - cnt1_3;
    int cnt = 0;
    while (cnt < res) {
      ++cnt;
      if (a2 % 3 == 0) {
        a2 /= 3;
        a2 <<= 1;
      } else {
        b2 /= 3;
        b2 <<= 1;
      }
    }
    cnt2_2 += res;
  }
  res += abs(cnt1_2 - cnt2_2);
  if (cnt1_2 > cnt2_2) {
    int v = cnt1_2 - cnt2_2;
    int cnt = 0;
    while (cnt < v) {
      ++cnt;
      if (a1 % 2 == 0)
        a1 >>= 1;
      else
        b1 >>= 1;
    }
  } else {
    int v = cnt2_2 - cnt1_2;
    int cnt = 0;
    while (cnt < v) {
      ++cnt;
      if (a2 % 2 == 0)
        a2 >>= 1;
      else
        b2 >>= 1;
    }
  }
  cout << res << "\n" << a1 << " " << b1 << "\n" << a2 << " " << b2;
  return 0;
}
