#include <stdio.h>
int sum(int n){
    int sum=0;
    while(n>0){
        
        int d=n%10;
        sum+=d*d;
        n/=10;
    }
    return sum;
}
int main() {
int n;
scanf("%d",&n);
while(n!=1){
    n=sum(n);
}
if(n==1){
    printf("Happy Number");
}
else{
    printf("Unhappy Number");
}
return 0;
}

//program\\
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
typedef struct node{
    int data;
    struct node *nxt;
}node ;

node *head=NULL ,*tail;
void create(int num){
    node *newnode=(node*)malloc(1*sizeof(node));
    newnode->data =num;
    newnode->nxt =NULL;
    if(head==NULL){
        head=newnode;
        tail=newnode;
    }
    else{
        tail->nxt=newnode;
        tail=newnode;
    }
    
}

void display(){
    node *itr;
    for(itr=head;itr!=NULL;itr=itr->nxt){
        printf("%d",itr->data);
    }
    while
}

int main(){
    int size,num,itr;
    scanf("%d",&size);
    if(size<=0){
        printf("Invalid input");
        return 0;
    }
    for(itr=1;itr<=size;itr++){
        if(!scanf("%d",&num)){
            printf("Invalid input");
            return 0;
        }
        create(num);
    }
    display();
    return 0;
}