#include<iostream>
using namespace std;
int main() {
int n;
int i;
int length;
scanf( "%d" , & n );
cout << n << endl;
//序列的长度是length
for( length = 2 ; ; length ++ ) {
//序列中间那个数是mid
int mid = n / length;
//中间那个数小于length,就意味着序列最左边的那个数成为负数或者0了
if( mid > length / 2 ) {
if( length % 2 == 1 ) {
//length是奇数,那么length要整除n才会有这样的序列
if( n % length == 0 ) {
for( i = mid - length / 2 ; i <= mid + length / 2 ; i ++ ) {
cout << i << " ";
}
cout << endl;
}
}
else {
//否则,n应该是序列中间两个数的和的倍数
if( n % ( mid + mid + 1 ) == 0 ) {
for( i = mid - length / 2 + 1 ; i <= mid + length / 2 ; i ++ ) {
cout << i << " ";
}
cout << endl;
}
}
}
else {
break;
}
}
return 1;
}
08-20
08-20