>>639
#include<iostream>
#include<algorithm>
#include<list>
using namespace std;
int DigitPowSum(int n){
int sum = 0;
while(n){
int i=n%10;
sum+=i*i;
n/=10;
}
return sum;
}
bool IsHappyNumber(int n){
list<int> check;
while(1){
if(n==1)return true;
if(find(check.begin(),check.end(),n)!=check.end())return false;
check.push_back(n);
n=DigitPowSum(n);
}
}
int main(void){
int a,b;
cin >> a;
cin >> b;
for(int i=a;i<=b;++i)if(IsHappyNumber(i))cout<<i<<endl;
return 0;
}
list使っていいのか知らないけど。もしかしたら大きな勘違いで無駄なことやってるかも。