#include #include #include using namespace std; char s[100]; char s1[100],s2[100]; char vys[100]; int m,n1,n2; void canon(char *s, int &n) { int i,j,d; char *c=s; j=0; for (i=0; i='1' || s[1]>='1' || s[2]>='1') { while (*s>='2') { *(s-2)='1'; s[0]-=2; ++s[1]; d=1; } if (*s<=s[1] && *s=='1') { ++s[2]; *s='0'; --s[1]; d=1; } ++s; } n=s-c; if (d) canon(c,n); } int main() { int i; while (gets(s)) { strcpy(s1,strtok(s," ")); strcpy(s2,strtok(NULL," ")); n1=strlen(s1); n2=strlen(s2); if (s1[n1-1]==' ') s1[--n1]=0; if (s2[n2-1]==' ') s2[--n2]=0; reverse(s1,s1+n1); reverse(s2,s2+n2); for (i=n1; i<100; ++i) s1[i]='0'; for (i=n2; i<100; ++i) s2[i]='0'; for (i=0; i<100; ++i) vys[i]='0'; canon(s1,n1); canon(s2,n2); m=n1>n2?n1:n2; for (i=0; i