Problem:
Score : 300 points

Problem Statement

You are given an integer N.

Find a triple of positive integers h, n and w such that 4/N = 1/h + 1/n + 1/w.

If there are multiple solutions, any of them will be accepted.

Constraints

It is guaranteed that, for the given integer N, there exists a solution such that h,n,w \leq 3500.

Inputs

Input is given from Standard Input in the following format:

N

Outputs

Print a triple of positive integers h, n and w that satisfies the condition, in the following format:

h n w

Sample Input 1

2

Sample Output 1

1 2 2

4/2 = 1/1 + 1/2 + 1/2.

Sample Input 2

3485

Sample Output 2

872 1012974 1539173474040

It is allowed to use an integer exceeding 3500 in a solution.

Sample Input 3

4664

Sample Output 3

3498 3498 3498

Solution in Scala (2.13.1) (judge verdict: Accepted)

object Main {

  def main(args: Array[String]): Unit = {
    val sc = new java.util.Scanner(System.in)

    val N = sc.nextInt()
    // 制約から, h, n, w <= 3500を探索することになる
    val (h, n, w) = (for {
      h <- 1L to 3500L
      n <- 1L to 3500L
      top = N * h * n
      bottom = 4L * h * n - N * n - N * h
      if bottom > 0
      if top % bottom == 0
      w = top / bottom
    } yield (h, n, w)).head

    println(s"$h $n $w")
  }

}