#최소/최대
def euclid_max (x,y):
while True:
if(x%y!=0):
r=x%y
x=y
y=r
else:
return y
def euclid_min (x,y):
a=x
b=y
while True:
if(x%y!=0):
r=x%y
x=y
y=r
else:
return a*b//y
arr = list(map(int, input().split()[:4]))
max_=0
min_=10**9
for i in range(3):
for j in range(i+1,4):
x=arr[i]
y=arr[j]
p=euclid_max(x,y)
q=euclid_min(x,y)
if(max_<p):
max_=p
if(min_>q):
min_=q
print(max_,min_)
#숫자세기
arr=(input())
cnt=0
Max=0
for i in arr:
if(i.isdigit()==True):
cnt+=1
elif(i.isdigit()==False):
if(Max<cnt):
Max=cnt
cnt=0
if(Max<cnt):
Max=cnt
print(Max)