#list_int 並べて出力 print (' '.join(map(str,ans_li))) #list_str 並べて出力 print (' '.join(list)) # 2進数 format(10, 'b') # '1010' # aa=[int(input()) for i in range(n)] #for i,name in enumerate(list) ''' 二次元配列を一列ずつ for i in ans: print(*i) ''' ''' heapq queue = [] heapq.heapify(queue) #heapqの作成 heapq.heappush(queue,num) #numのpush(値の追加) pop = heapq.heappop(queue) #numのpop(最小値の出力) pop = heapq.heappushpop(queue,num) #push -> pop ''' from collections import defaultdict import sys,heapq,bisect,math,itertools,string,queue,datetime sys.setrecursionlimit(10**8) INF = float('inf') mod = 10**9+7 eps = 10**-7 AtoZ = [chr(i) for i in range(65,65+26)] atoz = [chr(i) for i in range(97,97+26)] def inpl(): return list(map(int, input().split())) def inpl_str(): return list(input().split()) A,B = inpl() AA = abs(A) BB = abs(B) flag = True if AA < 100 or BB < 100: flag = False while AA >= 10: if AA%10 == 0: AA //= 10 else: flag = False break while BB >= 10: if BB%10 == 0: BB //= 10 else: flag = False break if flag: print(A*B//10) else: ans = A*B if -99999999 <= ans <= 99999999: print(ans) else: print('E')