#include <bits/stdc++.h>
using namespace std;
bool isPrime(int x) {
  for (int i = 2; i * i <= x; i++) {
    if (x % i == 0) return false;
  }
  return true;
}
int main() {
  int n;
  scanf("%d", &n);
  if (isPrime(n)) {
    printf("1\n%d\n", n);
  } else if (isPrime(n - 2)) {
    printf("2\n2 %d\n", n - 2);
  } else if (isPrime(n - 4)) {
    printf("3\n2 2 %d\n", n - 4);
  } else {
    int prime;
    for (int i = n; i >= 2; i--) {
      if (isPrime(i)) {
        prime = i;
        break;
      }
    }
    int div = n - prime;
    for (int i = div / 2; i >= 2; i--) {
      if (isPrime(i)) {
        if (isPrime(div - i)) {
          printf("3\n%d %d %d\n", prime, i, div - i);
          break;
        }
      }
    }
  }
  return 0;
}
