#include <bits/stdc++.h>
using namespace std;
template <typename T>
bool chmax(T& a, const T& b) {
  return a < b ? (a = b, true) : false;
}
template <typename T>
bool chmin(T& a, const T& b) {
  return b < a ? (a = b, true) : false;
}
long long N;
const long long MAX = 1e9;
int main() {
  scanf("%lld", &N);
  long long x = N, y = N + 1, z = N * (N + 1);
  if (x != y && y != z && z != x && 1 <= x && x <= MAX && 1 <= y && y <= MAX &&
      1 <= z && z <= MAX) {
    printf("%lld %lld %lld\n", x, y, z);
  } else {
    printf("-1\n");
  }
  return 0;
}

### Prompt

Your task is to create 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;
template <typename T>
bool chmax(T& a, const T& b) {
  return a < b ? (a = b, true) : false;
}
template <typename T>
bool chmin(T& a, const T& b) {
  return b < a ? (a = b, true) : false;
}
long long N;
const long long MAX = 1e9;
int main() {
  scanf("%lld", &N);
  long long x = N, y = N + 1, z = N * (N + 1);
  if (x != y && y != z && z != x && 1 <= x && x <= MAX && 1 <= y && y <= MAX &&
      1 <= z && z <= MAX) {
    printf("%lld %lld %lld\n", x, y, z);
  } else {
    printf("-1\n");
  }
  return 0;
}

```