#include <bits/stdc++.h>
using namespace std;
bool isprime(int j) {
  for (int i = 2; i * i <= j; i++)
    if (j % i == 0) return 0;
  return 1;
}
int main() {
  int i;
  int n;
  cin >> n;
  int sum = 0;
  if (isprime(n)) {
    cout << 1 << endl << n;
    return 0;
  }
  int j, k;
  for (i = n - 2; i >= 2; i--) {
    if (isprime(i)) {
      for (j = n - i; j >= 2; j--) {
        if (isprime(j)) {
          if (i + j == n) {
            cout << 2 << endl << i << " " << j;
            return 0;
          }
          for (k = n - i - j; k >= 2; k--) {
            if (isprime(k) && i + j + k == n) {
              cout << 3 << endl << i << " " << j << " " << k;
              return 0;
            }
          }
        }
      }
    }
  }
  return 0;
}
