#include #include #include #include #include using namespace std; void add(char a[],char b[],char back[]) { int i,j,k,up,x,y,z,l; char *c; if (strlen(a)>strlen(b)) l=strlen(a)+2; else l=strlen(b)+2; c=(char *) malloc(l*sizeof(char)); i=strlen(a)-1; j=strlen(b)-1; k=0;up=0; while(i>=0||j>=0) { if(i<0) x='0'; else x=a[i]; if(j<0) y='0'; else y=b[j]; z=x-'0'+y-'0'; if(up) z+=1; if(z>9) {up=1;z%=10;} else up=0; c[k++]=z+'0'; i--;j--; } if(up) c[k++]='1'; i=0; c[k]='\0'; for(k-=1;k>=0;k--) back[i++]=c[k]; back[i]='\0'; } char str[10000010]; char str1[10000010]; char str2[10]; char str3[10000010]; int num[10]; int main() { int T; scanf("%d", &T); gets(str2); while(T--) { gets(str); memset(num,0,sizeof(num)); int cc = 0; for(int i = 0; str[i];i++) { num[str[i]-'0']++; if(str[i]-'0')cc++; } if(cc < 2) { puts("Uncertain"); continue; } for(int i = 1; i< 10;i++) { if(num[i]) { num[i]--; str2[0] = i+'0'; str2[1] = 0; break; } } int cnt = 0; for(int i = 9; i >=0; i--) { while(num[i]--) { str1[cnt++] = i+'0'; } } str1[cnt] = 0; add(str1,str2,str3); puts(str3); } return 0; }