#include <bits/stdc++.h>
#include <chrono>
#define int long long
#define all(x) x.begin(), x.end()
#define f1(i, n) for(int i=1;i<=n;++i)
using namespace std;
using namespace chrono;
const int maxn = 1e6 + 5;
const int MOD = 987654321012345;
int count_digit(int n) {
int count = 0;
while (n != 0) {
n /= 10;
count++;
}
return count;
}
int luythua[20];
void gen(int n) { // tiền xử lí lũy thua
int digits = count_digit(n);
luythua[0] = 0; luythua[1] = 1;
for (int i = 2; i <= 9; ++i) {
luythua[i] = pow(i, digits);
}
}
bool check_Armstrong(int n) {
int sum = 0, digits = count_digit(n), num = n;
gen(n);
while (n != 0) {
sum += luythua[n % 10];
n /= 10;
}
return sum == num;
}
main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int n;
cin >> n;
cout << (check_Armstrong(n) ? "true" : "false");
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNpbmNsdWRlIDxjaHJvbm8+CiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIGFsbCh4KSB4LmJlZ2luKCksIHguZW5kKCkKI2RlZmluZSBmMShpLCBuKSBmb3IoaW50IGk9MTtpPD1uOysraSkKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdXNpbmcgbmFtZXNwYWNlIGNocm9ubzsKCmNvbnN0IGludCBtYXhuID0gMWU2ICsgNTsKY29uc3QgaW50IE1PRCA9IDk4NzY1NDMyMTAxMjM0NTsKCmludCBjb3VudF9kaWdpdChpbnQgbikgewoJaW50IGNvdW50ID0gMDsKCXdoaWxlIChuICE9IDApIHsKCQluIC89IDEwOwoJCWNvdW50Kys7Cgl9CglyZXR1cm4gY291bnQ7Cn0KCmludCBsdXl0aHVhWzIwXTsKdm9pZCBnZW4oaW50IG4pIHsgLy8gdGnhu4FuIHjhu60gbMOtIGzFqXkgdGh1YQoJaW50IGRpZ2l0cyA9IGNvdW50X2RpZ2l0KG4pOwoJbHV5dGh1YVswXSA9IDA7ICBsdXl0aHVhWzFdID0gMTsKCWZvciAoaW50IGkgPSAyOyBpIDw9IDk7ICsraSkgewoJCWx1eXRodWFbaV0gPSBwb3coaSwgZGlnaXRzKTsKCX0KfQoKYm9vbCBjaGVja19Bcm1zdHJvbmcoaW50IG4pIHsKCWludCBzdW0gPSAwLCBkaWdpdHMgPSBjb3VudF9kaWdpdChuKSwgbnVtID0gbjsKCWdlbihuKTsKCXdoaWxlIChuICE9IDApIHsKCQlzdW0gKz0gbHV5dGh1YVtuICUgMTBdOwoJCW4gLz0gMTA7Cgl9CglyZXR1cm4gc3VtID09IG51bTsKfQptYWluKCkgewoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwoJY2luLnRpZShudWxscHRyKTsKCWNvdXQudGllKG51bGxwdHIpOwoKCWludCBuOwoJY2luID4+IG47Cgljb3V0IDw8IChjaGVja19Bcm1zdHJvbmcobikgPyAidHJ1ZSIgOiAiZmFsc2UiKTsKCn0=