#include <bits/stdc++.h>
using namespace std;
int n, a[10005];
int f[10005], nho[10005], x[10005];
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; ++i) {
    a[i] = i;
  }
  f[0] = 1;
  for (int i = 1; i <= n; ++i) {
    for (int j = n; j >= a[i]; --j) {
      if (f[j - a[i]] == 1 && f[j] == 0) {
        f[j] = 1;
        nho[j] = i;
      }
    }
  }
  if (f[n] == 0) {
    printf("0");
    return 0;
  }
  int S = n, slx = 0;
  do {
    x[++slx] = nho[S];
    S = S - a[nho[S]];
  } while (S > 0);
  printf("%d\n", slx);
  for (int i = slx; i >= 1; --i) {
    printf("%d ", x[i]);
  }
}
