代码
#include<bits/stdc++.h>
using namespace std;
#define int __int128
int n, m, cnt=2,sum=1,a[10005],x,y;
inline __int128 read(){
__int128 x = 0, f = 1;
char ch = getchar();
while(ch < '0' || ch > '9'){
if(ch == '-')
f = -1;
ch = getchar();
}
while(ch >= '0' && ch <= '9'){
x = x * 10 + ch - '0';
ch = getchar();
}
return x * f;
}
inline void print(__int128 x){
if(x < 0){
putchar('-');
x = -x;
}
if(x > 9)
print(x / 10);
putchar(x % 10 + '0');
}
signed main(){
n = read();
while(x<n){
a[++y]=cnt;
x+=cnt;
cnt++;
}
a[x-n-1]=0;
for(int i=1;i<=y;i++){
if(a[i]!=0){
print(a[i]);
cout << " ";
}
if(a[i]!=0)sum*=a[i];
}
cout << "\n";
print(sum);
}