#include <bits/stdc++.h>
using namespace std;
int BinarySearch(int a, int b, int aa[], int x) {
  while (a <= b) {
    int mid = (a + b) / 2;
    if (aa[mid] == x)
      return mid;
    else if (aa[mid] > x)
      b = mid - 1;
    else
      a = mid + 1;
  }
  return -1;
}
int gcd(int a, int b) {
  if (b == 0)
    return a;
  else
    return gcd(b, a % b);
}
int prime(int x) {
  int sqt = sqrt(x);
  for (int i = 2; i <= sqt; i++) {
    if (x % i == 0) return 0;
  }
  return 1;
}
void swap(char *x, char *y) {
  char temp;
  temp = *x;
  *x = *y;
  *y = temp;
}
long long big_mod(long long b, long long p, long long m) {
  if (p == 0)
    return 1;
  else if (p % 2 == 0) {
    long long k = big_mod(b, p / 2, m);
    return (k * k) % m;
  } else
    return ((b % m) * (big_mod(b, p - 1, m))) % m;
}
long long arr1[10010], arr2[10010], arr3[10010];
map<string, long long> myp;
pair<long long, long long> mypair;
set<string, long long> myset[1005];
map<string, long long> myp1;
map<long long, long long> myp2;
char str[105];
string str1[10005];
string str2[10005];
long long returnMe(long long a, long long b, long long c) {
  long long s = a * b * c;
  long long t = (s / a) + (s / b) + (s / c);
  return t;
}
int main() {
  long long n;
  cin >> n;
  if (n == 1) {
    cout << "-1" << endl;
  } else {
    cout << (n) << " " << (n + 1) << " " << n * (n + 1) << endl;
  }
  return 0;
}
