#include <iostream>
using namespace std;
//思想:
//如果a被一个奇数b整除,则它可以拆分成以a/b为中间数的连续的b个连续整数数之和;
//如果a模一个偶数b的余数正好等于b/2,那么a可以分解为以a/b,a/b+1为两个中间数的b个连续整数之和。
int intCheck(int n)
{
for(int i=2; i < n; i++)
{
int mod = n%i;
if(mod==0 && i%2==1)
{
//得到拆分的最小正整数和最大正整数
int start = n/i - (i-1)/2;
int endd = start + i -1;
//保证分解的最小整数是正数
if(start <=0)
continue;
cout << n << "=";
for( ;start < endd;start++)
{
cout << start << "+";
}
cout <<endd <<endl;
}
else if(mod*2 == i)
{
//得到拆分的最小正整数和最大正整数
int start = n/i-i/2+1;
int endd = n/i+i/2;
//保证分解的最小整数是正数
if(start <=0)
continue;
cout << n << "=";
for( ;start < endd;start++)
{
cout << start << "+";
}
cout <<endd <<endl;
}
else
continue;
}
return 0;
}
int main()
{
int n = 0;
cin >> n;
intCheck(n);
return 0;
}