let n = Int(readLine()!)!
let arr = readLine()!.split(separator: " ").map{Int(String($0))!}
var asmd = readLine()!.split(separator: " ").map{Int(String($0))!}
var max = Int.min
var min = Int.max
func dfs(_ index:Int,_ sum:Int) {
if n == index {
if max < sum {
max = sum
}
if min > sum {
min = sum
}
}
for i in 0..<4 {
if asmd[i] != 0 {
asmd[i] -= 1
switch i {
case 0 : dfs(index+1, sum + arr[index])
case 1 : dfs(index+1, sum - arr[index])
case 2 : dfs(index+1, sum * arr[index])
default: dfs(index+1, sum / arr[index])
}
asmd[i] += 1
}
}
}
dfs(1, arr[0])
print(max,min)