#include<bits/stdc++.h>
#include<math.h>
using namespace std;
#define rep(i,n) for (int i=0;i<n;i++)

int max_k(int N){
  for (int n=1;n<=N;n++){
    if (n*(n+1) >= 2*N) return n;
  }
  return 0;
};

int main(){
  int N; cin >> N;

  int n=0;
  //vector<int> sol;
  while (N>0) {
    n = max_k(N);
    //sol.push_back(n);
    cout << n << endl;
    N -= n;
  }

  
}

 