3.2 A and B funcs