#include <bits/stdc++.h>
int n;
int pzs(int k) {
  for (int i = 2; i * i <= k; i++) {
    if (k % i == 0) {
      return 0;
      break;
    }
  }
  return 1;
}
int main() {
  scanf("%d", &n);
  if (pzs(n)) {
    printf("1\n%d\n", n);
    return 0;
  }
  printf("3\n3 ");
  n -= 3;
  for (int i = 3;; i += 2) {
    if (pzs(i) && pzs(n - i)) {
      printf("%d %d\n", i, n - i);
      return 0;
    }
  }
  return 0;
}
