#include<algorithm>
#include<iostream>
#include<stdio.h>
#include<string.h>

char a[256], b[256], c[256];	
int sz = 0;
int carry = 0;

int main()
{

	memset( a, '0', 80 );
	memset( b, '0', 80 );
	std::cin >> a >> b;
	
	int maxlen = std::max( strlen( a ), strlen( b ) );
	
	if( maxlen > 80 ){
	 	goto OVERFLOW;
	}
	
	std::reverse( a, a + strlen( a ) );
	std::reverse( b, b + strlen( b ) );
	
	a[strlen( a )] = '0';
	b[strlen( b )] = '0';
	
	for( int i = 0; i <= maxlen + 1; i++ ){
		int na = a[i] - '0' + carry;
		int nb = b[i] - '0';
		
		if( na + nb >= 10 ){
			na += nb - 10;
			carry = 1;
		}
		else{
			na += nb;
			carry = 0;
		}
		
		c[i] = na + '0';
	}
	
	sz = maxlen;
	
	if( c[sz] >= '1' && c[sz] <= '9' ){
	 	sz++;
	}
	
	if( sz >= 80 ){
OVERFLOW:
	 	std::cout << "overflow" << std::endl;
	}
	else{
		std::reverse( c, c + sz );
		c[sz] = '\0';
		std::cout << c << std::endl;
	}

 	return 0;
}