#include <iostream>
#include <math.h>
using namespace std;
int main() {
unsigned long n,digit_sum(unsigned long);
bool isSquare(unsigned long),isCube(unsigned long);
for(n=100000;n<500000;n++)
{
if(digit_sum(n)==43)
{
if(isSquare(n) && !isCube(n))
{
cout<<n;
return 0;
}
if(!isSquare(n) && isCube(n))
{
cout<<n;
return 0;
}
}
}
for(n=500000;n<1000000;n++)
{
if(digit_sum(n)==43)
{
if(isSquare(n) && isCube(n))
{
cout<<n;
return 0;
}
}
}
return 0;
}
bool isSquare(unsigned long x)
{
return (sqrt(x)-long(sqrt(x))==0) ? true : false;
}
bool isCube(unsigned long x)
{
return (cbrt(x)-long(cbrt(x))==0) ? true : false;
}
unsigned long digit_sum(unsigned long x)
{
unsigned long ret=0;
while(x>=1)
{
ret+=(x%10);
x/=10;
}
return ret;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWF0aC5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7Cgl1bnNpZ25lZCBsb25nIG4sZGlnaXRfc3VtKHVuc2lnbmVkIGxvbmcpOwoJYm9vbCBpc1NxdWFyZSh1bnNpZ25lZCBsb25nKSxpc0N1YmUodW5zaWduZWQgbG9uZyk7Cglmb3Iobj0xMDAwMDA7bjw1MDAwMDA7bisrKQoJCXsKCQkJaWYoZGlnaXRfc3VtKG4pPT00MykKCQkJCXsKCQkJCQlpZihpc1NxdWFyZShuKSAmJiAhaXNDdWJlKG4pKQoJCQkJCQl7CgkJCQkJCQljb3V0PDxuOwoJCQkJCQkJcmV0dXJuIDA7CgkJCQkJCX0KCQkJCQlpZighaXNTcXVhcmUobikgJiYgaXNDdWJlKG4pKQoJCQkJCQl7CgkJCQkJCQljb3V0PDxuOwoJCQkJCQkJcmV0dXJuIDA7CgkJCQkJCX0KCQkJCX0KCQl9CgkJZm9yKG49NTAwMDAwO248MTAwMDAwMDtuKyspCgkJCXsKCQkJCWlmKGRpZ2l0X3N1bShuKT09NDMpCgkJCQkJewoJCQkJCQlpZihpc1NxdWFyZShuKSAmJiBpc0N1YmUobikpCgkJCQkJCQl7CgkJCQkJCQkJY291dDw8bjsKCQkJCQkJCQlyZXR1cm4gMDsKCQkJCQkJCX0KCQkJCQl9CgkJCX0KCXJldHVybiAwOwp9CmJvb2wgaXNTcXVhcmUodW5zaWduZWQgbG9uZyB4KQoJewoJCXJldHVybiAoc3FydCh4KS1sb25nKHNxcnQoeCkpPT0wKSA/IHRydWUgOiBmYWxzZTsKCX0KYm9vbCBpc0N1YmUodW5zaWduZWQgbG9uZyB4KQoJewoJCXJldHVybiAoY2JydCh4KS1sb25nKGNicnQoeCkpPT0wKSA/IHRydWUgOiBmYWxzZTsKCX0KdW5zaWduZWQgbG9uZyBkaWdpdF9zdW0odW5zaWduZWQgbG9uZyB4KQoJewoJCXVuc2lnbmVkIGxvbmcgcmV0PTA7CgkJd2hpbGUoeD49MSkKCQkJewoJCQkJcmV0Kz0oeCUxMCk7CgkJCQl4Lz0xMDsKCQkJfQoJCXJldHVybiByZXQ7Cgl9