I just don't get why you care about the colours of the coats, Maniac.
I forgot the numbers and don't care too much, but here's my reasoning: a bunch of kids have something. There's one distinguishable group, including some kids who have something, and various people of that group 'rob' the other group. Not all the people in that group are to blame, and not all profited. Some still don't have a ball and others already had a ball, after all.
At this point, I distinguish 2 groups: those who have balls, fair or not (can't be distinguished from eachother), and those who don't have balls, either because it was stolen or because they never had one (indistinguishable as well).
I see absolutely no reason to split that second group based on coat colour. They all don't have a ball and you don't know who had their ball stolen.
So since there are only 2 real groups IMO, there's 3 options: reallocate everything at random, give the new balls to the group without balls (assuming you don't want anyone to get 2 balls) or take away all balls from the people with balls and give them to all the people without balls.
Third option is shit IMO because you are punishing some people for catching a ball. So I think the decent choices are one and two: completely random screws the people who catched a ball and held on to it and letting the group with balls keep the balls while giving the rest to the group without balls rewards the people who stole a ball.
Choose whichever you think is the lesser evil.