#최소/최대
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)