#include "bits/stdc++.h"
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<int> vi;
#define all(v) v.begin(), v.end()
#define pb push_back
#define sz(x) (int)(x).size()
void solve() {
ll n;
scanf("%lld", &n);
set<ll> ans;
for(ll i = 1; i <= 1e7; ++i) {
ans.emplace(i);
ll cur = i * (i + 1) / 2;
if(cur == n) {
break;
}
ll nxt = (i + 2) * (i + 1) / 2;
if(cur < n && nxt > n) {
ll dif = n - cur;
if(!ans.count(dif)) {
ans.emplace(dif);
break;
} else {
for(ll x : ans) {
ll dif = n - (cur - x);
if(!ans.count(dif)) {
ans.erase(x);
ans.emplace(dif);
goto hell;
}
}
}
}
}
hell:
for(ll x : ans) {
printf("%lld ", x);
}
}
int main() {
int t = 1;
// scanf("%d",&t);
while(t--)
solve();
}
Copy