def solution(n, m): if n == 0: return 0 if 0<m<=2: return n/(n+m)+(m*(m-1))/((n+m)*(n+m-1)) if m == 0: return 1 return (m*(m-1)*(m-2))/((n+m)*(n+m-1)*(n+m-2))*solution(n,m-3)+(m*(m-1)*n)/((n+m)*(n+m-1)*(n+m-2))*solution(n-1,m-2)+n/(n+m)