Reduce Advanced

from functools import reduce
def do_magic(a, b): 
    
    if((a % 2 == 1) & (b % 2 == 1) ):
        return a * b
    
    return a + b
do_magic(10, 15)
25
do_magic(11, 15)
165
reduce(do_magic, [10, 20, 30, 40])
100
reduce(do_magic, [10, 20, 30, 40, 31, 41])
5371