#include<stdio.h> #include<stdlib.h> #include<string.h> //no strrev in pat's compiler void mystrrev(char* str){ char tmp[25]; int i,j; strcpy(tmp,str); j=strlen(str); for(i=0;tmp[i]!='\0';i++){ j--; str[j]=tmp[i]; } } int main(){ char str[25],db[25]; int a[10],b[10]; int i,j; scanf("%s",str); mystrrev(str); int nxt=0; for(i=0;str[i]!='\0';i++){ db[i]=((str[i]-'0')*2+nxt)%10+'0'; nxt=((str[i]-'0')*2)/10; } if(nxt!=0){ db[i]='0'+nxt; db[i+1]='\0'; } else db[i]='\0'; mystrrev(db); for(i=0;i<10;i++){ a[i]=0; b[i]=0; } for(i=0;str[i]!='\0';i++){ a[str[i]-'0']++; } for(i=0;db[i]!='\0';i++){ b[db[i]-'0']++; } for(i=0;i<10;i++){ if(a[i]!=b[i]) break; } if(i==10) printf("Yes\n"); else printf("No\n"); printf("%s\n",db); system("pause"); return 0; }