Phase 3 / tree, lca, frequency
Phase 5 / arrays, greedy, math
Phase 6 / mo's algorithm, frequency, range query
Phase 4 / sliding_window, frequency_map
Phase 1 / mo, sqrt_decomp