#include <bits/stdc++.h>
using namespace std;
const int X = 1000000000;
void MAIN() {
  long long n, x, y, z;
  cin >> n;
  long long m = -5 + n / 2, mx = 5 + 3 * n / 2;
  for (long long x = 1; x < 3LL * n / 2LL; x++) {
    long long y1 = 2LL * n * x;
    long long y2 = 2LL * x - n;
    if (y2 <= 0) continue;
    long long ym = y1 / y2;
    for (long long y = x + 1; y <= ym; y++) {
      long long z1 = n * x * y;
      long long z2 = 2LL * x * y - n * x - n * y;
      if (z2 <= 0) continue;
      if (z1 % z2 == 0) {
        long long z = z1 / z2;
        if (z == x || z == y) continue;
        if (z < 1) continue;
        if (x <= X && y <= X && z <= X) {
          if (n * x * y + n * y * z + n * z * x == 2LL * (x * y * z)) {
            cout << x << " " << y << " " << z;
            return;
          }
        }
      }
    }
  }
  cout << -1;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout << setprecision(12);
  MAIN();
  return 0;
}

### Prompt

Your challenge is to write a CPP solution to the following problem:

Vladik and Chloe decided to determine who of them is better at math. Vladik claimed that for any positive integer n he can represent fraction <image> as a sum of three distinct positive fractions in form <image>.

Help Vladik with that, i.e for a given n find three distinct positive integers x, y and z such that <image>. Because Chloe can't check Vladik's answer if the numbers are large, he asks you to print numbers not exceeding 109.

If there is no such answer, print -1.

Input

The single line contains single integer n (1 ≤ n ≤ 104).

Output

If the answer exists, print 3 distinct numbers x, y and z (1 ≤ x, y, z ≤ 109, x ≠ y, x ≠ z, y ≠ z). Otherwise print -1.

If there are multiple answers, print any of them.

Examples

Input

3


Output

2 7 42


Input

7


Output

7 8 56

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
const int X = 1000000000;
void MAIN() {
  long long n, x, y, z;
  cin >> n;
  long long m = -5 + n / 2, mx = 5 + 3 * n / 2;
  for (long long x = 1; x < 3LL * n / 2LL; x++) {
    long long y1 = 2LL * n * x;
    long long y2 = 2LL * x - n;
    if (y2 <= 0) continue;
    long long ym = y1 / y2;
    for (long long y = x + 1; y <= ym; y++) {
      long long z1 = n * x * y;
      long long z2 = 2LL * x * y - n * x - n * y;
      if (z2 <= 0) continue;
      if (z1 % z2 == 0) {
        long long z = z1 / z2;
        if (z == x || z == y) continue;
        if (z < 1) continue;
        if (x <= X && y <= X && z <= X) {
          if (n * x * y + n * y * z + n * z * x == 2LL * (x * y * z)) {
            cout << x << " " << y << " " << z;
            return;
          }
        }
      }
    }
  }
  cout << -1;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout << setprecision(12);
  MAIN();
  return 0;
}

```