/*************************************************************************
 *                                                                       *
 *                       Pogromcy Algorytmów 2004                        *
 *                                                                       *
 *   Rozwiązanie zadania: Julka                                         *
 *   Plik:                jul.cpp                                        *
 *   Autor:               Krzysztof Onak                                 *
 *************************************************************************/

/* Weryfikacja, KO */
#include <cstdio>
#include <cstring>

using namespace std;

#define REP(i,n) for(int i = 0; i < (n); ++i)

class Number {
	static const int MAXSIZE = 200;
	int c[MAXSIZE];
public:
	void div2() {
		int r = 0;
		for(int i = MAXSIZE - 1; i >= 0; --i) {
			r += c[i];
			c[i] = r / 2;
			r %= 2;
			r *= 10;
		}
	}

	void add(const Number &n) {
		int r = 0;
		REP(i,MAXSIZE) {
			r += c[i] + n.c[i];
			c[i] = r % 10;
			r /= 10;
		}
	}

	void sub(const Number &n) {
		int r = 0;
		REP(i,MAXSIZE) {
			r += c[i] - n.c[i];
			if (r < 0) {
				c[i] = r + 10;
				r = -1;
			} else {
				c[i] = r;
				r = 0;
			}
		}
	}

	Number() {
		REP(i,MAXSIZE) c[i] = 0;
	}

	void write() {
		int i = MAXSIZE - 1;
		while(i > 0 && c[i] == 0) --i;
		while(i >= 0)
			printf("%d", c[i--]);
	}

	void read() {
		char str[2*MAXSIZE];
		scanf("%s", str);
		int k = strlen(str);
		REP(i, k)
			c[i] = str[k - 1 - i] - '0';
	}
};

int main() {
	Number a, b;
	a.read();
	b.read();

	a.sub(b);
	a.div2();
	b.add(a);

	b.write();
	printf("\n");
	a.write();
	printf("\n");
}
