#include <stdio.h>
#include <assert.h>
#include <math.h>
int alloca(int N) {
// Mettete qui il codice della soluzione
int esponente = 10;
int i,j;
int trovato = 0;
int risultato;
int risultati[100];
int indice = 0;
if (N >= 10000) {
for (i = 100; i >= 2; i--) {
for(j = esponente;j >= 2;j--) {
if (((long int)pow(i
,j
)) <= N
) { risultati
[indice
] = pow(i
,j
); indice++;
break;
}
}
}
}
else if (N >= 1000 && N <= 9999) {
for (i = 50; i >= 0; i--) {
for(j = esponente;j >= 2;j--) {
if (((long int)pow(i
,j
)) <= N
) { risultati
[indice
] = pow(i
,j
); indice++;
break;
}
}
}
}
else {
for (i = 25; i >= 2; i--) {
for(j = esponente;j >= 2;j--) {
if ((( long int)pow(i
,j
)) <= N
) { risultati
[indice
] = pow(i
,j
); indice++;
break;
}
}
}
}
risultato = risultati[0];
for (i = 1; i<=indice-1; i++) {
if (risultati[i] > risultato) risultato = risultati[i];
}
return risultato;
}
int main() {
FILE *fr, *fw;
int N, i;
fr
= fopen("input.txt", "r"); fw
= fopen("output.txt", "w"); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxhc3NlcnQuaD4KI2luY2x1ZGUgPG1hdGguaD4KCmludCBhbGxvY2EoaW50IE4pIHsKICAgIC8vIE1ldHRldGUgcXVpIGlsIGNvZGljZSBkZWxsYSBzb2x1emlvbmUKICAgIGludCBlc3BvbmVudGUgPSAxMDsKICAgIGludCBpLGo7CiAgICBpbnQgdHJvdmF0byA9IDA7CiAgICBpbnQgcmlzdWx0YXRvOwogICAgaW50IHJpc3VsdGF0aVsxMDBdOwogICAgaW50IGluZGljZSA9IDA7CiAgICBpZiAoTiA+PSAxMDAwMCkgewogICAgICAgIGZvciAoaSA9IDEwMDsgaSA+PSAyOyBpLS0pIHsKICAgICAgICAgICAgZm9yKGogPSBlc3BvbmVudGU7aiA+PSAyO2otLSkgewogICAgICAgICAgICAgICAgcHJpbnRmKCIlbGRcbiIsIChsb25nIGludClwb3coaSxqKSk7CiAgICAgICAgICAgICAgICBpZiAoKChsb25nIGludClwb3coaSxqKSkgPD0gTiApIHsKICAgICAgICAgICAgICAgICAgICByaXN1bHRhdGlbaW5kaWNlXSA9IHBvdyhpLGopOwogICAgICAgICAgICAgICAgICAgIGluZGljZSsrOwogICAgICAgICAgICAgICAgICAgIHByaW50ZigiVFJPVkFUTyIpOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgIH0KICAgIH0KICAgIGVsc2UgaWYgKE4gPj0gMTAwMCAmJiBOIDw9IDk5OTkpIHsKICAgICAgICBmb3IgKGkgPSA1MDsgaSA+PSAwOyBpLS0pIHsKICAgICAgICAgICAgZm9yKGogPSBlc3BvbmVudGU7aiA+PSAyO2otLSkgewogICAgICAgICAgICAgICAgcHJpbnRmKCIlbGRcbiIsIChsb25nIGludClwb3coaSxqKSk7CiAgICAgICAgICAgICAgICBpZiAoKChsb25nICBpbnQpcG93KGksaikpIDw9IE4gKSB7CiAgICAgICAgICAgICAgICAgICAgcmlzdWx0YXRpW2luZGljZV0gPSBwb3coaSxqKTsKICAgICAgICAgICAgICAgICAgICBpbmRpY2UrKzsKICAgICAgICAgICAgICAgICAgICBwcmludGYoIlRST1ZBVE8iKTsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICAKICAgICAgICB9CiAgICAgICAgCiAgICB9CiAgICBlbHNlIHsKICAgICAgICBmb3IgKGkgPSAyNTsgaSA+PSAyOyBpLS0pIHsKICAgICAgICAgICAgZm9yKGogPSBlc3BvbmVudGU7aiA+PSAyO2otLSkgewogICAgICAgICAgICAgICAgcHJpbnRmKCIlbGRcbiIsIChsb25nIGludClwb3coaSxqKSk7CiAgICAgICAgICAgICAgICBpZiAoKCggbG9uZyAgaW50KXBvdyhpLGopKSA8PSBOICkgewogICAgICAgICAgICAgICAgICAgIHJpc3VsdGF0aVtpbmRpY2VdID0gcG93KGksaik7CiAgICAgICAgICAgICAgICAgICAgaW5kaWNlKys7CiAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJUUk9WQVRPIik7CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICB9CiAgICByaXN1bHRhdG8gPSByaXN1bHRhdGlbMF07CiAgICBmb3IgKGkgPSAxOyBpPD1pbmRpY2UtMTsgaSsrKSB7CiAgICAgICAgaWYgKHJpc3VsdGF0aVtpXSA+IHJpc3VsdGF0bykgcmlzdWx0YXRvID0gcmlzdWx0YXRpW2ldOwogICAgfQoKICAgICAgIHJldHVybiByaXN1bHRhdG87Cn0KCgppbnQgbWFpbigpIHsKICAgIEZJTEUgKmZyLCAqZnc7CiAgICBpbnQgTiwgaTsKCiAgICBmciA9IGZvcGVuKCJpbnB1dC50eHQiLCAiciIpOwogICAgZncgPSBmb3Blbigib3V0cHV0LnR4dCIsICJ3Iik7CiAgICBhc3NlcnQoMSA9PSBmc2NhbmYoZnIsICIlZCIsICZOKSk7CiAgICBmcHJpbnRmKGZ3LCAiJWRcbiIsIGFsbG9jYShOKSk7CiAgICBmY2xvc2UoZnIpOwogICAgZmNsb3NlKGZ3KTsKICAgIHJldHVybiAwOwp9Cg==