adding support for 'weak' hard counters but computation of triangles is wrong
hard_counters.py now supports 'weak' counters