#include <bits/stdc++.h>
using namespace std;
bool prime(int n) {
  for (int i = 2; i * i <= n; ++i) {
    if (n % i == 0) return false;
  }
  return true;
}
int main() {
  std::ios::sync_with_stdio(false);
  int n, nr, nrs[5];
  cin >> n;
  if (n == 3) {
    nr = 1;
    nrs[0] = 3;
  } else if (n == 4) {
    nr = 2;
    nrs[0] = nrs[1] = 2;
  } else if (n == 5) {
    nr = 2;
    nrs[0] = 2;
    nrs[1] = 3;
  } else if (n == 6) {
    nr = 2;
    nrs[0] = nrs[1] = 3;
  } else {
    int j = n - 4;
    while (!prime(j)) --j;
    nr = 1;
    nrs[0] = j;
    n -= j;
    j = 2;
    while (n != 0) {
      if (prime(j)) {
        if (n - j == 0) {
          nr = 2;
          nrs[1] = j;
          n = 0;
        } else if (prime(n - j)) {
          nr = 3;
          nrs[1] = j;
          nrs[2] = n - j;
          n = 0;
        }
      }
      ++j;
    }
  }
  cout << nr << "\n";
  for (int i = 0; i < nr; ++i) {
    if (i != 0) {
      cout << " ";
    }
    cout << nrs[i];
  }
  cout << "\n";
  return 0;
}
