#include <iostream>
using namespace std;
/*
Input: n = 19
Output: true
Explanation:12 + 92 = 82
82 + 22 = 68
62 + 82 = 100
12 + 02 + 02 = 1
*/
int func1(int n) {
int sum = 0;
while( n > 0) {
int digit = n % 10;
sum = sum + (digit * digit);
n = n / 10;
}
return sum;
}
bool isHappy(int n) {
int slow = n;
int fast = func1(n);
while(fast != 1 && slow != fast) {
slow = func1(slow);
fast = func1(func1(fast));
}
if(fast == 1)
return true;
else
return false;
}
int main() {
int n;
cin>>n;
cout<< isHappy(n)<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwovKgpJbnB1dDogbiA9IDE5Ck91dHB1dDogdHJ1ZQpFeHBsYW5hdGlvbjoxMiArIDkyID0gODIKODIgKyAyMiA9IDY4CjYyICsgODIgPSAxMDAKMTIgKyAwMiArIDAyID0gMQoqLwppbnQgZnVuYzEoaW50IG4pIHsKCWludCBzdW0gPSAwOwoJCgl3aGlsZSggbiA+IDApIHsKCQlpbnQgZGlnaXQgPSBuICUgMTA7CgkJc3VtID0gc3VtICsgKGRpZ2l0ICogZGlnaXQpOwoJCW4gPSBuIC8gMTA7Cgl9CgkKCXJldHVybiBzdW07Cn0KCmJvb2wgaXNIYXBweShpbnQgbikgewoJaW50IHNsb3cgPSBuOwoJCglpbnQgZmFzdCA9IGZ1bmMxKG4pOwoJCgl3aGlsZShmYXN0ICE9IDEgJiYgc2xvdyAhPSBmYXN0KSB7CgkJc2xvdyA9IGZ1bmMxKHNsb3cpOwoJCWZhc3QgPSBmdW5jMShmdW5jMShmYXN0KSk7Cgl9CglpZihmYXN0ID09IDEpCgkJcmV0dXJuIHRydWU7CgllbHNlCgkJcmV0dXJuIGZhbHNlOwp9CgppbnQgbWFpbigpIHsKCWludCBuOwoJY2luPj5uOwoJY291dDw8IGlzSGFwcHkobik8PGVuZGw7CglyZXR1cm4gMDsKfQ==