#include <stdio.h>
#include <stdlib.h>
#include <tgmath.h>
int main()
{
long N;
long T
= round
(sqrt(N
)) +1 ; long a[T];
int Z = 0;
unsigned long i = 0;
while (i <= T) {
a[i] = 1;
if (i == 0)
a[i] = 0;
i++;
}
for (unsigned long i = 2; i <= T; i++) //43
if (a[i] == 1) {
if (N % i == 0)
Z = 1;
for (unsigned long j = i*i; j <= T; j += i)
a[j] = 0;
}
if (Z != 1) {
for (unsigned long i = T; i > 0; i--)
if ((a[i] != 0) && (N % i == 0)) {
break;
}
}
else
{
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHRnbWF0aC5oPgoKCmludCBtYWluKCkKewogICAgbG9uZyBOOwogICAgc2NhbmYoIiVkIiwgJk4pOwogICAgTiA9IGFicyAoTik7CiAgICBsb25nIFQgPSByb3VuZChzcXJ0KE4pKSArMSA7CiAgICBsb25nIGFbVF07CiAgICBpbnQgWiA9IDA7CiAgICB1bnNpZ25lZCBsb25nIGkgPSAwOwogICAgd2hpbGUgKGkgPD0gVCkgewogICAgICAgIGFbaV0gPSAxOwogICAgICAgIGlmIChpID09IDApCiAgICAgICAgICAgIGFbaV0gPSAwOwogICAgICAgIGkrKzsKICAgIH0KICAgIGZvciAodW5zaWduZWQgbG9uZyBpID0gMjsgIGkgPD0gVDsgaSsrKSAvLzQzCiAgICAgICAgaWYgKGFbaV0gPT0gMSkgewogICAgICAgICAgICBpZiAoTiAlIGkgPT0gMCkKICAgICAgICAgICAgICAgIFogPSAxOwogICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGxvbmcgaiA9IGkqaTsgaiA8PSBUOyBqICs9IGkpCiAgICAgICAgICAgICAgICBhW2pdID0gMDsKICAgICAgICB9CiAgICBpZiAoWiAhPSAxKSB7CiAgICAgICAgZm9yICh1bnNpZ25lZCBsb25nIGkgPSBUOyBpID4gMDsgaS0tKQogICAgICAgICAgICBpZiAoKGFbaV0gIT0gMCkgJiYgKE4gJSBpID09IDApKSB7CiAgICAgICAgICAgICAgICBwcmludGYoIiVsdSIsIGkpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICBwcmludGYoIiVsdSIsIE4pOwogICAgfQogICAgcmV0dXJuIDA7Cn0KCg==