double query(int index) { double result = 0.0; while (index > 0) { result += _tree[index]; index -= index & -index; } return result; }