#include<stdio.h>#include<string.h>intreverse_ab(char a[],char b[]);intadd_ab(char a[],char b[]);intis_palindrome(char a[]);intprint_ab(char a[],char b[]);intprint_str(char a[]);intmain(){char a[1011]={0}, b[1011]={0};int i =0;scanf("%s", b);if(!is_palindrome(b)){reverse_ab(b, a);print_ab(a, b);for(i =1; i <10&&!is_palindrome(a); i++){reverse_ab(a, b);print_ab(a, b);}}if(i ==10){printf("Not found in 10 iterations.");}else{
i >0?print_str(a):print_str(b);printf(" is a palindromic number.");}return0;}intreverse_ab(char a[],char b[]){int len =strlen(a);int i;for(i =0; i < len; i++)
b[len - i -1]= a[i];return0;}intadd_ab(char a[],char b[]){int len =strlen(a);int i, sum, carry =0;for(i =0; i < len; i++){
sum = a[i]-'0'+ b[i]-'0'+ carry;
a[i]= sum %10+'0';
carry = sum /10;}if(carry)
a[i]= carry +'0';return0;}intis_palindrome(char a[]){int len =strlen(a);int i;for(i =0; i < len /2; i++)if(a[i]!= a[len - i -1])return0;return1;}intprint_ab(char a[],char b[]){print_str(a);printf(" + ");print_str(b);printf(" = ");add_ab(a, b);print_str(a);printf("\n");return0;}intprint_str(char a[]){int i =strlen(a)-1;for(; i >=0; i--)printf("%c", a[i]);return0;}