Fix the complexity of split
Change from x/y to c
Define DIM
min/max_dim instead of min/max_x/y
split_dim instead of split_x/y
make_by_lower_dim instead of make_by_y
Use generic query function
build_tree instead of build_x_tree
Generalize build_tree()
Generalize answer_queries
Move IPoint to common
Rework brute.cpp
Change DIM to macrodef
Generalize gen
Successfully try up passing 3 as DIM
Run test.sh for different dims