#include <iostream>
#include <cmath>
#include <vector>

using namespace std;

int n[5] = {0};
const int N = 150;

void Pow(long long int *P){
	for(int i = 0; i < N; ++i){
		long long int i2 = i * i;
		P[i] = i2 * i2 * i;
	}
}

void logprint(int en, int* n, long long int *P) {
	cout << en << "\t: ";
	for (int i = 0; i < 5; ++i) cout << n[i] <<" ";
	cout << " : " << P[N] << endl;
}

int * Eu(int be, int en, long long int *P, int *n, int j){
	//logprint(j, n, P);
    for (int i = be; i <= en; ++i){
        if (n[4] != 0) return n;
        P[N] += P[i]; n[j] = i;
        if (j < 3)
			n = Eu(i, en, P, n, j + 1);
        else {
            size_t k = lround(pow(P[N] + 1, 0.2));
            if (P[k] == P[N] && k < N) n[4] = k;
        }
        P[N] -= P[i];
    }
    return n;
}

int * Eu(long long int *P, int en) {
	n[4] = 0; P[N] = 0;
	return Eu(1, en, P, n, 0);
}

int main(){
	long long int P[N+1];
	Pow(P);	
	int en;
	cin >> en;
	
	Eu(P, en);
	
	for (int i = 0; i < 5; i++)
		cout << n[i] << " ";
	return 0;
}