#include <bits/stdc++.h>
using namespace std;
const int SIZE = 1000006;
const int OO = (int)1e9;
int dp[30][100006], val[100009], len;
struct trie {
  trie* child[30];
  bool isLeaf;
  trie() {
    memset(child, 0, sizeof child);
    isLeaf = 0;
  }
};
int main() {
  long long n, a, b;
  scanf("%lld %lld %lld", &n, &a, &b);
  if (a * b >= 6 * n) {
    printf("%lld\n%lld %lld", a * b, a, b);
    return 0;
  }
  long long ans = 1e18;
  long long x, y;
  bool flagg = 0;
  if (a > b) {
    swap(a, b);
    flagg = 1;
  }
  for (long long i = a; i * i <= 6 * n; ++i) {
    long long tmp = 6 * n / i;
    if (tmp * i < 6 * n) tmp++;
    if (tmp < b) continue;
    if (tmp * i < ans) {
      ans = tmp * i;
      x = i;
      y = tmp;
    }
  }
  if (flagg) swap(x, y);
  printf("%lld\n%lld %lld", ans, x, y);
}
