#include<stdio.h> #include<string.h> void myReverse(char* str){ int i,j; int len=strlen(str); if(len%2){ i=len/2; j=len/2; } else{ i=len/2-1; j=len/2; } for(;i>=0&&j<len;i--,j++){ char tmp=str[i]; str[i]=str[j]; str[j]=tmp; } } int isPNumber(char* str){ int i,j; int len=strlen(str); if(len%2){ i=len/2; j=len/2; } else{ i=len/2-1; j=len/2; } for(;i>=0&&j<len;i--,j++){ if(str[i]!=str[j]) return 0; } return 1; } void strAdd(char* a,char* b,char* sum){ int i,jin=0; int len=strlen(a); for(i=0;i<len;i++){ sum[i]='0'+(a[i]-'0'+b[i]-'0'+jin)%10; jin=(a[i]-'0'+b[i]-'0'+jin)/10; } if(jin){ sum[len]='0'+jin; sum[len+1]='\0'; } else{ sum[len]='\0'; } } int main(){ int i,step; char num[10000],rnum[10000],sum[10000]; scanf("%s %d",num,&step); if(isPNumber(num)){ printf("%s\n0\n",num); return 0; } for(i=1;i<=step;i++){ strcpy(rnum,num); myReverse(rnum); strAdd(num,rnum,sum); if(isPNumber(sum)){ printf("%s\n%d\n",sum,i); break; } strcpy(num,sum); } if(i==step+1){ myReverse(sum); printf("%s\n%d\n",sum,step); } return 0; }