#include <iostream>

#include <string>

#include <algorithm>


using namespace std;


int

main ()

{

  string a, b;

  int c;

  cin >> a >> b;

  if (a == "0" && b != "0")

    cout << b;

  if (a == "0" && b != "0")

    goto out;

  if (b == "0" && a != "0")

    cout << a;

  if (b == "0" && a != "0")

    goto out;


  reverse (a.begin (), a.end ());

  reverse (b.begin (), b.end ());

  a = a + '0';

  b = b + '0';

  if (a.length () >= b.length ())

    {

      for (int i = 0; i < b.length (); i++)

    {

      c = (a[i] - '0') + (b[i] - '0');

      if (c >= 10)

        {

          a[i] = c % 10 + '0';

          for (int j = i; j <= a.length (); j++)

        {

          if (a[j + 1] == '9')

            a[j + 1] = '0';

          else

            {

                a[j + 1] = ((a[j + 1] - '0') + 1) + '0';

                break;

            }

        }


        }

      else

        {

          a[i] = c + '0';

        }

    }


      reverse (a.begin (), a.end ());

      if (a[0] == '0')

    a.erase (a.begin ());

      cout << a;


    }

  else

    {

      for (int i = 0; i < a.length (); i++)

    {

      c = (a[i] - '0') + (b[i] - '0');

      if (c >= 10)

        {

          b[i] = c % 10 + '0';

          for (int j = i; j <= b.length (); j++)

        {

          if (b[j + 1] == '9')

            b[j + 1] = '0';

          else

            {

                b[j + 1] = ((b[j + 1] - '0') + 1) + '0';

                break;

            }

        }


        }

      else

        {

          b[i] = c + '0';

        }

    }


      reverse (b.begin (), b.end ());

      if (b[0] == '0')

    b.erase (b.begin ());

      cout << b;

    }


out:

  return 0;

}


파이썬을 쓰면 10초만에 해결인데 브5 문제에 이렇게 끙끙 싸매는게 맞나… 싶으면서도 오기가 생겨서 결국 혼자서 구현해본 코드입니다 아직 C 기능들도 다 아는게 아니라서 고투 빼고 스왑 넣고 하라는 식의 조언도 받았습니다 문제는 다른 큰 수 문제들을 어떻게 제 힘으로 해결할지….