#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vi = vector<int>;
using vc = vector<char>;
using vs = vector<string>;
using vll = vector<ll>;
template <class T>
inline T gcd(const T &a, const T &b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
template <class T>
inline T lcm(const T &a, const T &b) {
  return a * b / gcd<T>(a, b);
}
template <class T>
bool isprime(const T &n) {
  if (n <= 1)
    return false;
  else if (n == 2)
    return true;
  else if (n & 1) {
    for (long long i = 3; i <= floor(sqrt(n)) + 1; i += 2) {
      if (!(n % i)) return false;
    }
    return true;
  } else
    return false;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int n;
  cin >> n;
  if ((n - 2) % 3 != 0) {
    cout << 1 << " " << 1 << " " << n - 2;
  } else {
    cout << 1 << " " << 2 << " " << n - 3;
  }
  return EXIT_SUCCESS;
}
