#include <bits/stdc++.h>
using namespace std;
bool primeFactor(int n) {
  if (n == 2 || n == 3) return true;
  int sum = 1, two = 0, cnt;
  while (!(n % 2)) {
    return false;
  }
  for (int i = 3; i <= sqrt(n); i += 2) {
    while (!(n % i)) {
      return false;
    }
  }
  return true;
}
int main() {
  ios_base::sync_with_stdio(0);
  ;
  int n, i, j, k, m, x, y, z;
  int prime[] = {2,  3,  5,  7,  11, 13, 17, 19, 23, 29, 31, 37, 41,
                 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97};
  cin >> n;
  if (n == 3) {
    cout << 1 << endl << 3 << endl;
    exit(0);
  } else if (n == 5) {
    cout << 2 << endl << 2 << " " << 3 << endl;
    exit(0);
  }
  m = n - 4;
  for (i = m; i >= 0; i -= 2) {
    if (primeFactor(i)) {
      z = i;
      break;
    }
  }
  int zz = z;
  y = n - z;
  for (i = y; i >= 0; i--) {
    if (n - zz - i > 1 && primeFactor(i)) {
      z = i;
      if (binary_search(prime, prime + 25, n - zz - z)) {
        y = i;
        x = n - zz - z;
        break;
      }
    }
  }
  cout << 3 << endl;
  cout << x << " " << y << " " << zz << endl;
  return 0;
}
