a. Apply constrain on string , the length of strings is constant . Differentiate twice to get relation between acceleration .Let the acceleration of block `A,B` and `C` be a, b and c respectively

`l_(1) + l_(2) =` constant
`l_(3) + l_(4) =` constant
`overset(..)l_(1) + overset(..)l_(2) = 0 rArr |b| = |c|`
`overset(..)l_(3) + overset(..)l_(4) = 0 rArr |a| = |b|`
From which we get `a = b = c`
From `FBD` of `A , B` and `C` [Fig (a)]

Writing equation of motion for block `A` :
` Mg - T = Ma` .....(i)
For block `B , T - T_(1) - mu mg = ma` .....(ii)
Solving equation (i) ,(ii) and (iii) we get
`a = ((M - 2 mu m )/(M + 2m))g`....(iv)
Putting a in Eq (i), we get
`Mg - T = M ((M - 2 mu m )/(M + 2m))g rArr T = (2m Mg (1 + mu))/((M + 2m))`
b. As there is relative motion between blocks , we apply
`v_(rel)^(2) = v_(rel)^(2) + 2a_(rel) S_(rel)`
If system is released from rest `u_(rel) = 0`
`v_(rel)^(2)= 2a_(rel) S_(rel) rArr v_(rel)= sqrt(2a_(rel) S_(rel))`
`a_(rel) = 2a` and `S_(rel) = L`
`rArr v = sqrt((4gL(M - 2 mu m))/((M + 2m)))`
cIf blocks will not acceleration , than put `a = 0 `in Eq (iv) to get`M = 2mu m`.