
import java.math.BigDecimal


data class CutParams(val m:Int, val n:Int) {
    val left:BigDecimal = BigDecimal(m).divide(BigDecimal(m).add(BigDecimal(n)), 30, BigDecimal.ROUND_HALF_UP)
    val right:BigDecimal = BigDecimal(n).divide(BigDecimal(m).add(BigDecimal(n)), 30, BigDecimal.ROUND_HALF_UP)
}
fun main(args:Array<String>):Unit{
    val (m, n, x) = readLine()!!.split(' ').map(String::toInt)
    val (k, l, y) = readLine()!!.split(' ').map(String::toInt)
    val vertical = CutParams(m, n)
    val horizontal = CutParams(k, l)
    var ver = BigDecimal.ONE
    repeat(x) {
        ver = with(vertical){ver * (left * left + right * right) + left * right}
    }
    var hor = BigDecimal.ONE
    repeat(y){
        hor = with(horizontal){hor * (left * left + right * right) + left * right}
    }
    println(ver * hor)
}
