**Possible algorithm for assigning charges**

Circles either have a charge assigned (hurray!), which is one of {1,2,3}. Or don’t yet, in which case deemed charge is 0.

Repeatedly we’ll compute, for circle

*i*, Pot

^{i}

_{0}, Pot

^{i}

_{1}, Pot

^{i}

_{2}, and Pot

^{i}

_{3}.

Pot

^{i}

_{k}≡ ∑

_{j}( (

*x*

_{i}−

*x*

_{j})² + (

*y*

_{i}−

*y*

_{j})² )⁻¹ where

*j*≠

*i*and circle

*j*has charge

*k*.

Pick of the

*i*with no assigned charge the largest value of Pot

^{i}

_{0}÷1024 + Pot

^{i}

_{1}+ Pot

^{i}

_{2}+ Pot

^{i}

_{3}

Assign to it the the charge {3,1,2} according to whichever is smallest of Pot

^{i}

_{3}, Pot

^{i}

_{1}, Pot

^{i}

_{2}, with ties being resolved in that order.

Repeat until all charges assigned.

Observe: easy to code; O(

*n*³) which is acceptable with

*n*≤24; effectively maximises distance between similar charges; starts in centre and chooses circles adjacent to those with known charge, working outwards.

Good? Bad? Improvements?

(But I still have no idea how to compute the streams. Help!)