+ BIT
+ sum
A solution. not completely working
fix overflow, sum(x, x)