intmain(){ int book[10] = {0}; char s[50]; scanf("%s", s); int flag1 = 0; // 是否进一位 int flag = 1; // 是否是原数字的重新排列 int len = strlen(s); for (int i = len - 1; i >= 0; i--) { int t = s[i] - '0'; book[t]++; t = t * 2 + flag1; flag1 = 0; if (t >= 10) { flag1 = 1; t = t - 10; } s[i] = t + '0'; book[t]--; } for (int i = 0; i < 10; i++) { if (book[i] != 0) { flag = 0; break; } } printf("%s", (flag1 == 1 || flag == 0) ? "No\n" : "Yes\n"); if (flag1) printf("1"); printf("%s", s);