#include <bits/stdc++.h>
using namespace std;
int f, q, x, n, i, j, a, aa[1300], p[10009];
int main() {
  scanf("%d", &a);
  n = 1;
  aa[1] = 2;
  for (i = 3; i <= 10000; i += 2) {
    if (p[i] == 0 && i <= 100) {
      for (j = i * i; j <= 10000; j += i) p[j] = 1;
    }
  }
  for (i = 3; i <= 10000; i += 2) {
    if (p[i] == 0) {
      n++;
      aa[n] = i;
    }
  }
  if (a >= 7) {
    a = a - 3;
    for (i = 1; i <= n; i++) {
      x = a - aa[i];
      q = 0;
      f = sqrt(x);
      for (j = 2; j <= f; j++) {
        if (x % j == 0) {
          q = 1;
          break;
        }
      }
      if (q == 0) break;
    }
    if (a - aa[i] != 0)
      printf("3\n3 %d %d", aa[i], a - aa[i]);
    else
      printf("2\n3 %d", aa[i]);
  } else {
    printf("1\n%d", a);
  }
  return 0;
}
