#include <bits/stdc++.h>
using namespace std;
bool isprime(long long p) {
  if (p == 1) {
    return (0);
  }
  long long i;
  for (i = 2; i <= sqrt(p); i++) {
    if (p % i == 0) {
      return (0);
    }
  }
  return (1);
}
int main() {
  long long n;
  cin >> n;
  long long i;
  vector<int> p;
  long long cnt = 0;
  if (n == 5) {
    p.push_back(5);
    n = 0;
  }
  if (n % 2 != 0) {
    n = n - 3;
    p.push_back(3);
  }
  for (i = n - 2; i >= 1; i--) {
    if (isprime(i) && isprime(n - i)) {
      p.push_back(i);
      p.push_back(n - i);
      break;
    }
  }
  cout << p.size() << "\n";
  for (i = 0; i < p.size(); i++) {
    cout << p[i] << " ";
  }
}
