Not able to pass all test cases

#include
using namespace std;
int min(int a,int b){
if(a>b){
return b;
}
return a;
}

int main() {
long long a ;
cin>>a;
long long n = a;
long long ans = 0;
long long k = 1;
if(a==0){
cout<<9<<endl;
return 0;
}
while(n>0){

	int d1 = n%10;
	int d2 = 9-d1;
	int x = min(d1,d2);
	ans += x*k;
	k*=10;
	n/=10;
}
cout<<ans<<endl;
return 0;

}