#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
int a[6] = { -1,0,1,2,-1,-4 };
vector<int>nums(a, a + 6);
sort(nums.begin(), nums.end());
int tar;
cin >> tar;
vector<int>path;
for (int i = 0; i < nums.size()-2; ++i)
{
int tem = tar - nums[i];
int le = i + 1;
int re = nums.size() - 1;
while (le < re)
{
if (nums[le] + nums[re] == tem) {
path.push_back(nums[i]);
path.push_back(nums[le]);
path.push_back(nums[re]);
break;
}
if (nums[le] + nums[re] > tem)
re--;
if(nums[le] + nums[re] < tem)
le++;
}
}
int cnt = 1;
for (auto i : path)
{
cout << i << ' ';
if (cnt % 3 == 0)cout << endl;
cnt++;
}
system("pause");
return 0;
}