//
// main.cpp
// PAT_1023. Have Fun with Numbers
//
// Created by wjq on 17/4/11.
// Copyright © 2017年 wjq. All rights reserved.
//
#include <iostream>
#include <string.h>
using namespace std;
char a[25];
int Count[10],Count2[10];
int Double()
{
for(int i=0;i<strlen(a);i++)
Count[a[i]-'0']++;
int jinwei=0;
for(int i=(int)strlen(a)-1;i>=0;i--)
{
if((a[i]-'0')*2+jinwei<10)
{
a[i]=(a[i]-'0')*2+'0'+jinwei;
jinwei=0;
}
else
{
a[i]=((a[i]-'0')*2+jinwei)%10+'0';
jinwei=1;
}
if(i==0&&jinwei==1)
return 1;
}
for(int i=0;i<strlen(a);i++)
Count2[a[i]-'0']++;
for(int i=0;i<10;i++)
if(Count[i]!=Count2[i])
return 2;
return 3;
}
int main(int argc, const char * argv[])
{
cin>>a;
int result=Double();
if(result==3)
cout<<"Yes"<<endl;
else
{
cout<<"No"<<endl;
if(result==1)
cout<<1;
}
for(int i=0;i<strlen(a);i++)
cout<<a[i];
cout<<endl;
}
简单模拟大数乘法题.