Chewbacca and invert two testcases failed

3 tc passed and 2 failed.help

#include
#include
using namespace std;
int newnum=0;
int rev;

int findreverse(int r,int f){
if(r>=5 && f==0){
return 9-r;
}
else if(r==9 && f==1){
return r;
}
else
return r;
}

int main(){

int num;
cin>>num;
int x;

while(num>0){
    x=num%10;
    int flag; 
    if(num>9){
        num=num/10;
        flag=0;
    }
    else if(num==9){
        flag=1;
        num=num/10;
    }
    else{
        num=num/10;
        flag=0;

    }
    
     rev=findreverse(x,flag);
    static int count=0;
    count++;
    newnum=(rev*pow(10,count-1))+newnum;

}
cout<<newnum<<endl;

return 0;

}

@shivamraj53.sr,
code is correct just use long long instead of int