Variation of this nice kata, the war has expanded and become dirtier and meaner; both even and odd numbers will fight with their pointy `1`s. And negative integers are coming into play as well, with, ça va sans dire, a negative contribution (think of them as spies or saboteurs).
Again, three possible outcomes: `odds win`, `evens win` and `tie`.
Examples:
```python
bits_war([1,5,12]) => "odds win" #1+101 vs 1100, 3 vs 2
bits_war([7,-3,20]) => "evens win" #111-11 vs 10100, 3-2 vs 2
bits_war([7,-3,-2,6]) => "tie" #111-11 vs -1+110, 3-2 vs -1+2
```
def bits_war(numbers):
    scores = sum(f"{n:b}".count("1") * (-1)**(n%2 == (n>0)) for n in numbers)
    return f"{['odds', 'evens'][scores>0]} win" if scores else "tie"
def bits_war(numbers):
    scores = sum(f"{n:b}".count("1") * (-1)**(n%2 == (n>0)) for n in numbers)
    return f"{['odds', 'evens'][scores>0]} win" if scores else "tie"