#include <bits/stdc++.h>
using namespace std;
bool isPrime(int n) {
  int sq = sqrt(n);
  for (int i = 2; i <= sq; i++)
    if (n % i == 0) return false;
  return true;
}
int main() {
  int n;
  cin >> n;
  for (int i = n; i >= 0; i--) {
    if (isPrime(i)) {
      if (i == n) {
        cout << 1 << endl << n;
        return 0;
      }
      int d = n - i;
      if (isPrime(d)) {
        cout << 2 << endl << i << " " << d;
        return 0;
      }
      for (int j = 2; j < d; j++) {
        if (isPrime(j) && isPrime(d - j)) {
          cout << 3 << endl << i << " " << j << " " << d - j;
          return 0;
        }
      }
    }
  }
exit:
  return 0;
}
