#include<iostream>#include<cstring>#include<vector>#include<stdio.h>#include<queue>#include<math.h>#include<stack>#include<algorithm>#include<map>#include<set>#define MAX 99999999usingnamespace std;int indexx[10];int a[100];intmain(){
string s;
cin>>s;int l = s.size();int len = l;for(int i =0;i<l;i++)
indexx[s[i]-'0']++;for(int i =0;i<l;i++)
a[i]= s[l-i-1]-'0';int x =0;//表示向前的进位int y =0;//后面来的进位for(int i =0;i<l;i++){
a[i]*=2;if(a[i]>=10) x = a[i]/10;else x =0;
a[i]%=10;
a[i]+= y;
y = x;}if(y !=0)
a[l++]= y;int flag =0;for(int i =0;i<l;i++)
indexx[a[i]]--;for(int i =0;i<l;i++){if(indexx[a[i]]!=0){
cout<<"No\n";
flag =1;break;}}if(flag ==0)
cout<<"Yes\n";for(int i = l-1;i>=0;i--)
cout<<a[i];return0;}