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
//package com.company;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {

    public static void main(String[] args) throws IOException {
        // write your code here
        Scanner s = new Scanner(System.in);
      //  BufferedReader s=new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
    int n=s.nextInt();if(n==1) System.out.println(-1);
else        System.out.println(n+" "+(n+1)+" "+(n*(n+1)));}



    static double power(double x, long y, int p)
    {
        double res = 1;
 x = x % p;
        while (y > 0)
        {
            if((y & 1)==1)
                res = (res * x) % p;
            y = y >> 1;
            x = (x * x) % p;
        }
        return res;
    }
    static int m;
    static int n;
    static int path = Integer.MAX_VALUE;
    static int got = 0;

    public static void dfs(int papa, int i, ArrayList<Integer>[] h, int[] vis) {
        vis[i] = 1;
        for (Integer j : h[i]) {
            if (vis[j] == 0) {
                dfs(i, j, h, vis);
            } else if (vis[j] == 1 && j != papa) {
                got = 1;
                return;
            }
        }
    }

    public static void bfs(int i, HashMap<Integer, Integer>[] h, int[] vis, int len, int papa) {
        Queue<Integer> q = new LinkedList<Integer>();
        q.add(i);

    }


    static int i(String a){
        return Integer.parseInt(a);
    }static long l(String a){
        return Long.parseLong(a);
    }static String[] inp() throws IOException{
        BufferedReader s=new BufferedReader(new InputStreamReader(System.in));
        return s.readLine().trim().split("\\s+");
    }
}

class Student
{
 int t,l,r;
//    String name, address;

    // Constructor
    public Student(int t,int r)
    {this.t=t;

        this.r=r;
    }

    // Used to print student details in main()
    public String toString()
    {
        return this.t + " " +this.l+" "+this.r;
    }
}

class Sortbyroll implements Comparator<Student>
{
    // Used for sorting in ascending order of
    // roll number
    public int compare(Student a, Student b)
    {
        return a.t-b.t;
    }
}