add KMP, update point, update binary indexed tree