Little C loves number «3» very much. He loves all things about it.

Now he has a positive integer n. He wants to split n into 3 positive integers a,b,c, such that a+b+c=n and none of the 3 integers is a multiple of 3. Help him to find a solution.

Input

A single line containing one integer n (3 ≤ n ≤ 10^9) — the integer Little C has.

Output

Print 3 positive integers a,b,c in a single line, such that a+b+c=n and none of them is a multiple of 3.

It can be proved that there is at least one solution. If there are multiple solutions, print any of them.

Examples

Input

3


Output

1 1 1

Input

233

Output

77 77 79
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.StringTokenizer;

public class LittleCLoves3I {
  public static void main(String[] args)
  {
    InputStream input;
    OutputStream output;
    try
    {
      input = new FileInputStream("input.txt");
      output = new FileOutputStream("output.txt");
    }
    catch (FileNotFoundException e)
    {
      input = System.in;
      output = System.out;
    }
    Kattio io = new Kattio(input,output);
    (new Solve(io)).main();
    io.close();
    if (input instanceof FileInputStream)
      try {
        input.close();
      } catch (IOException e) {
      }
    if (output instanceof FileOutputStream)
      try {
        output.close();
      } catch (IOException e) {
      }
  }
}

class Solve
{
  Kattio io;
  int n;
  Solve(Kattio io)
  {
    this.io = io;
  }
  
  void main()
  {
    n=io.getInt();
    for (int i=1; i<=n; i++)
      for (int j=1; j<=n; j++)
        if (i%3!=0 && j%3!=0 && (n-i-j)%3!=0)
        {
          io.println(i+" "+j+" "+(n-i-j));
          return;
        }
  }
}

class Kattio extends PrintWriter {
  public Kattio(InputStream i) {
    super(new BufferedOutputStream(System.out));
    r = new BufferedReader(new InputStreamReader(i));
  }

  public Kattio(InputStream i, OutputStream o) {
    super(new BufferedOutputStream(o));
    r = new BufferedReader(new InputStreamReader(i));
  }

  public boolean hasMoreTokens() {
    return peekToken() != null;
  }

  public int getInt() {
    return Integer.parseInt(nextToken());
  }

  public double getDouble() {
    return Double.parseDouble(nextToken());
  }

  public long getLong() {
    return Long.parseLong(nextToken());
  }

  public String getWord() {
    return nextToken();
  }



  private BufferedReader r;
  private String line;
  private StringTokenizer st;
  private String token;

  private String peekToken() {
    if (token == null)
      try {
        while (st == null || !st.hasMoreTokens()) {
          line = r.readLine();
          if (line == null)
            return null;
          st = new StringTokenizer(line);
        }
        token = st.nextToken();
      } catch (IOException e) {
      }
    return token;
  }

  private String nextToken() {
    String ans = peekToken();
    token = null;
    return ans;
  }
}
