func_code_string: #include <bits/stdc++.h>   using namespace std;   int go_to_hall(string maxx, string minn, int base) {     string h =   ;     int a = 0;     for (int i = minn.size() - 1, j = maxx.size() - 1; i >= 0; j--, i--) {       int q1 = minn[i] -  0 , q2 = maxx[j] -  0 ;       int q3 = q1 + q2 + a;       if (q3 >= base) {         int a1 = q3 - base;         string w;         ostringstream convert4;         convert4 << a1;         w = convert4.str();         h += w;         a = 1;       } else {         string w;         ostringstream convert5;         convert5 << q3;         w = convert5.str();         h += w;         a = 0;       }     }     if (a == 1 && maxx.size() == minn.size()) {       h +=  1 ;       return h.size();     } else {       int s = 0;       for (int r = maxx.size() - minn.size() - 1; r >= 0; r--) {         int e = s + (maxx[r] -  0 );         int x = maxx.size() - minn.size() - 1;         if (r == x) {           int y = e + a;           if (y >= base) {             int a1 = y - base;             string w;             ostringstream convert6;             convert6 << a1;             w = convert6.str();             h += w;             s = 1;           } else {             string w;             ostringstream convert7;             convert7 << y;             w = convert7.str();             h += w;             s = 0;           }         } else {           if (e >= base) {             int a1 = e - base;             string w;             ostringstream convert8;             convert8 << a1;             w = convert8.str();             h += w;             s = 1;           } else {             string w;             ostringstream convert9;             convert9 << e;             w = convert9.str();             h += w;             s = 0;           }         }       }       if (s == 1) {         h +=  1 ;       }       return h.size();     }   }   int main() {     int x, y, base = 0;     cin >> x >> y;     int k1 = x, k2 = y;     string q1;     ostringstream convert;     convert << x;     q1 = convert.str();     string q2;     ostringstream convert1;     convert1 << y;     q2 = convert1.str();     for (int y = 0; y < q1.size(); y++) {       int r = q1[y] -  0 ;       base = max(r, base);     }     for (int y = 0; y < q2.size(); y++) {       int r = q2[y] -  0 ;       base = max(r, base);     }     base++;     if (base == 10) {       int k3 = k1 + k2;       int i = 0;       while (k3 != 0) {         k3 = k3 / 10;         i++;       }       cout << i << endl;     } else {       string maxx, minn;       if (q1.size() >= q2.size()) {         maxx = q1;         minn = q2;       } else {         maxx = q2;         minn = q1;       }       cout << go_to_hall(maxx, minn, base) << endl;     }     return 0;   }   