dsalgo 0.3.7

A package for Datastructures and Algorithms.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
#![feature(once_cell)]

// #![allow(dead_code)]
pub mod a_star_search;
pub mod aa_tree;
pub mod ab_tree;
pub mod abelian_group;
pub mod abs_diff;
pub mod absorbing_element;
pub mod abstract_structs;
pub mod accumulate;
pub mod adaptive_heap_sort;
pub mod additive_group;
pub mod addressable_heap;
pub mod adjacency_list_graph;
pub mod adjacency_list_to_directed_edges;
pub mod adjacency_matrix_graph;
pub mod af_heap;
pub mod aho_corasick;
pub mod all_pairs_shortest_path;
pub mod analysis;
pub mod analysis_search;
pub mod apsp_johnson_dense;
pub mod apsp_johnson_sparse;
pub mod arborescence;
pub mod argsort;
pub mod arithmetic_series;
pub mod array_compression;
pub mod articulation_point;
pub mod articulation_points_detection_chain_decomposition;
pub mod articulation_points_detection_lowlink;
pub mod associative_property;
pub mod automorphism;
pub mod auxiliary_tree;
pub mod avl_tree;
pub mod avl_tree_node;
pub mod avl_tree_tmp;
pub mod b_plus_tree;
pub mod b_star_tree;
pub mod balanced_tree;
pub mod ball_tree;
pub mod barrett_reduction;
pub mod barrett_reduction_32;
pub mod barrett_reduction_64;
pub mod batcher_odd_even_mergesort;
pub mod bead_sort;
pub mod beatty_sequence;
pub mod bellman_ford;
pub mod bellman_ford_dense;
pub mod bellman_ford_tree;
pub mod bidirected_graph;
pub mod bijection;
pub mod binary_function;
pub mod binary_gcd;
pub mod binary_heap;
pub mod binary_indexed_tree;
pub mod binary_operation;
pub mod binary_operation_id;
pub mod binary_relation;
pub mod binary_search;
pub mod binary_search_on_sequence;
pub mod binary_tree;
pub mod binary_tree_node;
pub mod binomial_heap;
pub mod bisection_analysis;
pub mod bit_inverse;
pub mod bit_length;
pub mod bit_length_table;
pub mod bit_reverse;
pub mod bit_scan_forward;
pub mod bit_scan_reverse;
pub mod bit_shr_until_odd;
pub mod bitonic_sort;
pub mod bits_rotate_left;
pub mod bk_tree;
pub mod block_cut_tree;
pub mod block_sort;
pub mod borsuk_ulam;
pub mod breadth_first_search;
pub mod breadth_first_search_arborescence;
pub mod breadth_first_search_tree;
pub mod brent_cycle_detection;
pub mod bridge_detection_chain_decomposition;
pub mod bridge_detection_lowlink;
pub mod bridge_finding;
pub mod bubble_sort;
pub mod bucket_sort;
pub mod bx_tree;
pub mod bytes_to_char_vec;
pub mod cache_oblivious_distributing_sort;
pub mod cached_fibonacci_number;
pub mod carmichael_number;
pub mod carmichael_theorem;
pub mod cartesian_product;
pub mod cartesian_tree;
pub mod cascade_merge_sort;
pub mod category;
pub mod category_theory;
pub mod ceil_division;
pub mod centroid_decomposition;
pub mod char_slice_to_string;
pub mod chars_to_byte_vec;
pub mod chinese_remainder_theorem;
pub mod choose;
pub mod cht;
pub mod chu_liu_edmonds_minimum_spanning_arborescence;
pub mod cipolla_algorithm;
pub mod circle_dividing;
pub mod circle_hough_transform;
pub mod closest_pair_points;
pub mod cmp;
pub mod cocktail_shaker_sort;
pub mod collection_macro;
pub mod comb_sort;
pub mod combination;
pub mod combination_choose;
pub mod combinatorics;
pub mod commutative_monoid;
pub mod commutative_property;
pub mod comparison_sort;
pub mod complete_digraph;
pub mod complete_graph;
pub mod composition_category_theory;
pub mod connected_components;
pub mod connected_components_bfs;
pub mod connected_components_dfs;
pub mod connected_components_dsu;
pub mod const_modulus;
pub mod const_modulus_old;
pub mod convex_hull_trick;
pub mod count_divisors_by_factorization;
pub mod count_divisors_naive;
pub mod count_leading_zeros_std;
pub mod count_subset_sum;
pub mod count_trailing_zeros_factorial;
pub mod count_trailing_zeros_std;
pub mod counting_sort;
pub mod cover_tree;
pub mod crt;
pub mod cut_vertex;
pub mod dag_lca;
pub mod dancing_link;
pub mod dancing_tree;
pub mod day_stout_warren;
pub(crate) mod debug_macro;
pub(crate) mod debug_print;
pub mod decision_tree;
pub mod default;
pub mod default_static_modular_arithmetic;
pub mod deletion;
pub mod depth_first_search;
pub mod depth_first_search_arborescence;
pub mod depth_first_search_tree;
pub mod dial_sortest_path;
pub mod dijkstra_arborescence;
pub mod dijkstra_dense;
pub mod dijkstra_queue_binary_heap_std;
pub mod dijkstra_sparse_parents;
pub mod dijkstra_sparse_predecessors;
pub mod dijkstra_sparse_queue;
pub mod dijkstra_tree;
pub mod directed_lowlink;
pub mod discrete_logarithm;
pub mod disjoint_set_union;
pub mod disjoint_sparse_table;
pub mod disjoint_sparse_table_range_get_query;
pub mod distributive_property;
pub mod division;
pub mod divisor;
pub mod divisors_count_from_prime_factors;
pub mod divisors_count_table;
pub mod divisors_from_prime_factors;
pub mod divisors_sum_by_fatorization;
pub mod divisors_sum_from_prime_factors;
pub mod divisors_sum_table;
pub mod dlp;
pub mod doubly_chained_tree;
pub mod dsu;
pub mod dual_01_knapsack;
pub mod dual_01_knapsack_table_at_least;
pub mod dual_01_knapsack_table_just;
pub mod dual_fenwick_tree;
pub mod dual_segment_tree;
pub mod dynamic_modular_arithmetic;
pub mod dynamic_modular_arithmetic_trait;
pub mod dynamic_modulus;
pub mod dynamic_modulus_trait;
pub mod dynamic_segment_tree;
pub mod dynamic_tensor;
pub mod dynamic_tensor_shape;
pub mod dynamic_tree_lca_euler_tour;
pub mod eppstein_algorithm;
pub mod eratosthenes_legendre_sieve;
pub mod euclidean_algorithms;
pub mod euclidean_division;
pub mod euler_criterion;
pub mod euler_jacobi_pseudo_prime;
pub mod euler_phi_function;
pub mod euler_totient_function;
pub mod euler_totient_prime_factorize;
pub mod euler_tour_edges;
pub mod euler_tour_indices;
pub mod euler_tour_nodes;
pub mod eulerian_circuit;
pub mod eulerian_path;
pub mod eulerian_trail;
pub mod exchange_sort;
pub mod exponential_tree;
pub mod extended_euclidean_algorithm;
pub mod extended_euclidean_modular_gcd_inverse;
pub mod external_binary_operation;
pub mod factorial;
pub mod factorial_table;
pub mod fast_fourier_transform;
pub mod fast_mobius_transform;
pub mod fast_modulo_transform;
pub mod fast_zeta_transform;
pub mod fenwick_tree;
pub mod fenwick_tree_dual;
pub mod fermat_factorization_method;
pub mod fermat_test_fixed_bases;
pub mod fft;
pub mod fibonacci_heap;
pub mod fibonacci_number;
pub mod field;
pub mod find_divisor_pollard_rho_brent;
pub mod find_divisor_pollard_rho_floyd;
pub mod find_divisor_pollard_rho_repeat_brent;
pub mod find_divisors_for_const_remainders;
pub mod find_divisors_for_same_remainders;
pub mod find_divisors_median_low;
pub mod find_divisors_naive;
pub mod find_divisors_structive;
pub mod find_first_set;
pub mod find_prime_factor_pollard_rho_brent;
pub mod find_prime_numbers;
pub mod finger_tree;
pub mod floor_division;
pub mod floor_sqrt;
pub mod floyd_warshall;
pub mod fold;
pub mod ford_johnson_algorithm;
pub mod formal_power_series;
pub mod fourier_transform;
pub mod fractal_tree_index;
pub mod frobenius_endmorphism;
pub mod gamma_function;
pub mod garner_algorithm;
pub mod gcd;
pub mod gcd_00_is_0;
pub mod general_dijkstra_sparse;
pub mod genetic_algorithm;
pub mod geometric_series;
pub mod geometry;
pub mod ghost_leg;
pub mod gnome_sort;
pub mod gradient_boostring;
pub mod graph;
pub mod graph_bfs;
pub mod graph_dfs;
pub mod graph_disconnected;
pub mod graph_edge_trait;
pub mod graph_edge_usize_usize_impl;
pub mod graph_edge_usize_usize_t_impl;
pub mod graph_edge_weight_impl;
pub mod graph_pointer_directed;
pub mod graph_pointer_mixed;
pub mod graph_pointer_undirected;
pub mod graph_trait_pointer_mixed;
pub mod greatest_common_divisor;
pub mod greatest_common_divisor_recurse;
pub mod greatest_common_divisor_reduce;
pub mod greatest_common_divisor_signed;
pub mod greatest_common_divisors_for_lcm;
pub mod greatest_common_divisors_for_sum;
pub mod greatest_prime_factor_table;
pub mod group;
pub mod group_theory;
pub mod group_theory_id;
pub mod group_theory_preset;
pub mod group_theory_u64_gcd;
pub mod hamming_distance;
pub mod hash_tree;
pub mod heapsort;
pub mod heavy_light_decomposition;
pub mod height;
pub mod hilbert_r_tree;
pub mod histogram_sort;
pub mod homogeneous_product;
pub mod homomorphism;
pub mod hopcroft_karp;
pub mod idempotence;
pub mod identifier;
pub mod identity_element;
pub mod implicit_k_d_tree;
pub mod index;
pub mod insertion;
pub mod insertion_sort;
pub mod int_cube_root;
pub mod int_kth_root_binary_search;
pub mod int_kth_root_fast;
pub mod int_kth_root_linear;
pub mod int_kth_root_newton_method;
pub mod int_sqrt_binary_search;
pub mod int_sqrt_digit_by_digit;
pub mod int_sqrt_linear_addition;
pub mod int_sqrt_linear_naive;
pub mod int_sqrt_linear_subtraction;
pub mod int_sqrt_newton_method;
pub mod interpolation_sort;
pub mod inverse_element;
pub mod inverse_factorial_table;
pub mod io;
pub mod is_absorbing;
pub mod is_adjacency_matrix;
pub mod is_arborescence;
pub mod is_associative;
pub mod is_commutative;
pub mod is_composite_euler_jacobi;
pub mod is_composite_fermat;
pub mod is_distributive;
pub mod is_eulerian_graph;
pub mod is_idempotent;
pub mod is_identity;
pub mod is_invertible;
pub mod is_multitree;
pub mod is_pairwise_coprime;
pub mod is_perfect_number;
pub mod is_polytree;
pub mod is_prime_naive;
pub mod is_prime_table;
pub mod is_prime_with_small_prime_numbers;
pub mod is_quadratic_residue;
pub mod is_quadratic_residue_z_pz_euler_criterion;
pub mod is_regular_graph;
pub mod is_setwise_coprime;
pub mod is_subsequence;
pub mod is_twin_prime;
pub mod is_undirected_dense_graph;
pub mod is_zero_element;
pub mod isomorphism;
pub mod jacobi_symbol;
pub mod jacobi_symbol_recurse;
pub mod join;
pub mod k_d_tree;
pub mod karatsuba_algorithm;
pub mod karatsuba_mul_quotient_pow_2_power_of_2_128;
pub mod knapsack_01;
pub mod knapsack_01_at_most_k;
pub mod knapsack_01_few_kinds_of_weights;
pub mod knapsack_01_meet_in_the_middle;
pub mod knapsack_01_small_values_sum;
pub mod knapsack_01_small_weights_sum;
pub mod knapsack_01_table_at_most;
pub mod knapsack_01_table_just;
pub mod knuth_morris_pratt;
pub mod las_vegas_algorithm;
pub mod lazy_segment_tree;
pub mod lazy_sqrt_decomposition;
pub mod lca_binary_lifting;
pub mod lca_eulertour_rmq;
pub mod lca_eulertour_rmq_disjoint_sparse_table;
pub mod lca_eulertour_rmq_segment_tree;
pub mod lca_eulertour_rmq_sparse_table;
pub mod lca_eulertour_rmq_sqrt_decomposition;
pub mod lca_hld;
pub mod least_common_multiple;
pub mod least_common_multiple_reduce;
pub mod least_prime_factor_table;
pub mod least_significant_bit;
pub mod least_significant_bit_number;
pub mod left_identity_element;
pub mod leftist_tree;
pub mod legendre_function;
pub mod legendre_symbol;
pub mod legendre_symbol_euler_criterion;
pub mod levenstein_distance;
pub mod library_sort;
pub mod lightgbm;
pub mod linear_prime_sieve;
pub mod linear_programming;
pub mod linear_time_minimum_spanning_tree;
pub mod link_cut_tree;
pub mod log_structured_merge_tree;
pub mod longest_common_prefix;
pub mod longest_common_prefix_kasai;
pub mod longest_common_subsequence;
pub mod longest_common_subsequence_dp_table;
pub mod longest_common_subsequence_length;
pub mod longest_common_subsequence_length_low_memory;
pub mod longest_common_subsequence_restore_indices;
pub mod longest_common_subsequence_structuring;
pub mod longest_common_substring;
pub mod longest_increasing_sequence;
pub mod longest_non_decreasing_sequence;
pub mod longest_palindromic_substring;
pub mod lower_bound_on_sequence;
pub mod lowest_common_ancestor;
pub mod lowlink;
pub mod lsm_tree;
pub mod lucas_number;
pub mod lucas_sequence;
pub mod m_ary_tree;
pub mod maclaurin_series;
pub mod magma;
pub mod make_sparse_histogram;
pub mod manacher;
pub mod matrix;
pub mod matrix_constant;
pub mod matrix_dynamic;
pub mod matrix_runtime_static;
pub mod matrix_static;
pub mod maximum_cardinality_matching;
pub mod maximum_flow_edmonds_karp;
pub mod maximum_flow_ford_fulkerson;
pub mod merge_insertion_sort;
pub mod merge_sort;
pub mod merge_sort_inplace;
pub mod mergeable_heap;
pub mod mergesort;
pub mod merkle_tree;
pub mod metric_tree;
pub mod miller_rabin_deterministic_bases;
pub mod miller_rabin_fixed_bases;
pub mod miller_rabin_is_definite_composite;
pub mod miller_rabin_random_bases;
pub mod min_max_priority_queue;
pub mod minimum_cost_arborescence;
pub mod minimum_cost_elastic_matching;
pub mod minimum_cost_flow;
pub mod minimum_pair_sum_for_const_product;
pub mod minimum_spanning_tree;
pub mod mo_algorithm;
pub mod mo_algorithm_3d;
pub mod mobius_function;
pub mod mobius_transformation;
pub mod modular_arithmetic;
pub mod modular_arithmetic_trait;
pub mod modular_division;
pub mod modular_inverse_euler_theorem;
pub mod modular_inverse_extgcd;
pub mod modular_inverse_fermat_little_theorem;
pub mod modular_multiplication_doubling_128;
pub mod modular_power;
pub mod modular_tetration;
pub mod modulus;
pub mod monoid;
pub mod monte_carlo_algorithm;
pub mod montgomery_modular_multiplication;
pub mod montgomery_modular_multiplication_64;
pub mod morphism;
pub mod most_significant_bit;
pub mod most_significant_bit_number;
pub mod mst_boruvka;
pub mod mst_kruskal;
pub mod mst_prim_dense;
pub mod mst_prim_sparse;
pub mod mst_reverse_delete;
pub mod multi_key_quicksort;
pub mod multiplicative_inverse;
pub mod multiset;
pub mod n_dim_dynamic_tensor;
pub mod n_group_category;
pub mod n_group_finite_group;
pub mod negative_cycle;
pub mod network_graph_node;
pub(crate) mod new_rc_refcell;
pub mod next_prime_number;
pub mod next_prime_number_table;
pub mod ntt;
pub mod number_of_common_subsequences;
pub mod number_of_common_substrings;
pub mod number_of_distinct_subsequences;
pub mod number_of_subsequences;
pub mod number_theoritic_transform;
pub mod odd_even_sort;
pub mod offline_lca_tarjan;
pub mod order_static_tree;
pub mod ordered_set;
pub mod oscillating_merge_sort;
pub mod p_group;
pub mod pairing_heap;
pub mod pancacke_sorting;
pub mod parity_check_matrix;
pub mod partial_order;
pub mod pascal_rule;
pub mod pascal_simplex;
pub mod pascal_triangle;
pub mod patricia_tree;
pub mod perfect_numbers;
pub mod persistent_union_find;
pub mod ph_tree;
pub mod pigeonhole_sort;
pub mod pivot_tree;
pub mod pointer_grpah;
pub mod pollard_kangaroo_algorithm;
pub mod pollard_p_1;
pub mod pollard_rho;
pub mod polyphase_merge_sort;
pub mod pop;
pub mod popcount;
pub mod popcount_table;
pub mod postman_sort;
pub mod potentialized_union_find;
pub mod power;
pub mod power_group;
pub mod power_monoid;
pub mod power_semigroup;
pub mod pq_tree;
pub mod pr_tree;
pub mod prefix_tree;
pub mod preorder;
pub mod previous_prime_number;
pub mod previous_prime_number_table;
pub mod primality;
pub mod primality_test_fermat;
pub mod primality_test_miller_rabin;
pub mod primality_test_repin;
pub mod primality_test_solovay_strassen;
pub mod prime;
pub mod prime_counting_fast;
pub mod prime_counting_fast_half;
pub mod prime_counting_fast_optimized;
pub mod prime_counting_function;
pub mod prime_counting_meissel_lehmer;
pub mod prime_factorize_factorial_legendre_function;
pub mod prime_factorize_factorial_with_lpf;
pub mod prime_factorize_fermat;
pub mod prime_factorize_pollard_rho;
pub mod prime_factorize_pollard_rho_flat;
pub mod prime_factorize_pollard_rho_flat_2;
pub mod prime_factorize_trial_division;
pub mod prime_factorize_with_lpf;
pub mod prime_number;
pub mod prime_pi_approx_ln;
pub mod prime_pi_power_of_10;
pub mod prime_pi_table;
pub mod priority_queue;
pub mod priority_queue_binary_heap_std_impl;
pub mod priority_r_tree;
pub mod proportion_extend_sort;
pub mod proth_number;
pub mod proxmap_sort;
pub mod prufer_group;
pub mod pseudorandom_number_generator;
pub mod quasigroup;
pub mod quick_sort;
pub mod r_plus_tree;
pub mod r_star_tree;
pub mod rabin_karp;
pub mod radix_heap;
pub mod radix_sort;
pub mod radix_tree;
pub mod random_forest;
pub mod range_get_query;
pub mod range_minimum_query;
pub mod range_sieve_of_eratosthenes;
pub mod range_tree;
pub mod rectangle_tree;
pub mod red_black_tree;
pub mod reduce;
pub mod reflexive_relation;
pub mod rerooting;
pub mod reset_bit;
pub mod reset_least_bit;
pub mod right_identity_element;
pub mod ring;
pub mod rng;
pub mod rng_linear_congruential;
pub mod rng_mersenne_twister;
pub mod rng_static_xorshift64;
pub mod rng_xorshift;
pub mod rng_xorshift1024star;
pub mod rng_xorshift128;
pub mod rng_xorshift128plus;
pub mod rng_xorshift32;
pub mod rng_xorshift64;
pub mod rng_xorshift64star;
pub mod rng_xorshift96;
pub mod rng_xorwow;
pub mod rng_xoshiro256_core;
pub mod rng_xoshiro256plus;
pub mod rng_xoshiro256starstar;
pub mod rollback_union_find;
pub mod root_finding_newton_method;
pub mod safe_int_power;
pub mod scapegoad_tree;
pub mod scapegoat_tree;
pub mod scc;
pub mod scc_kosaraju;
pub mod scc_path_based;
pub mod scc_tarjan_lowlink;
pub mod segment_tree;
pub mod segment_tree_2d;
pub mod segment_tree_2d_dense;
pub mod segment_tree_beats;
pub mod segment_tree_binary_search;
pub mod segment_tree_binary_search_recurse;
pub mod segment_tree_from_slice;
pub mod segment_tree_indexing;
pub mod segment_tree_range_get_query;
pub mod segment_tree_reduce_recurse;
pub mod selection_sort;
pub mod semigroup;
pub mod semiring;
pub mod set_theory;
pub mod shaker_sort;
pub mod shakutori_method;
pub mod shear_sort;
pub mod shellsort;
pub mod shortest_path;
pub mod shortest_path_arborescence;
pub mod shortest_path_potential;
pub mod shortest_path_predecessors;
pub mod shortest_path_tree;
pub mod shuffle_sort;
pub mod sieve_of_atkin;
pub mod sieve_of_eratosthenes;
pub mod sieve_of_eratosthenes_low_memoty_prime_generator;
pub mod sieve_of_euler;
pub mod sieve_of_sundaram;
pub mod simulated_annealing;
pub mod single_source_shortest_path;
pub mod size;
pub mod skew_heap;
pub mod sliding_window_aggregation;
pub mod slope_trick;
pub mod slowsort;
pub mod smallest_enclosing_circle;
pub mod smawk_algorithm;
pub mod smoothsort;
pub mod solovay_strassen_fixed_bases;
pub mod sort;
pub mod sorting_network;
pub mod sorting_number;
pub mod spaghetti_sort;
pub mod sparse_table;
pub mod sparse_table_range_get_query;
pub mod spfa;
pub mod splay_tree;
pub mod splay_tree_node;
pub mod split;
pub mod spqr_tree;
pub mod spreadsort;
pub mod sqrt_decomposition;
pub mod sqrt_decomposition_fast_reduce;
pub mod sqrt_decomposition_get_range_query;
pub mod sqrt_tree;
pub mod sssp_dijkstra_sparse;
pub mod sssp_faster_algorithm;
pub mod stable_sort;
pub mod static_modular_arithmetic;
pub mod static_modular_arithmetic_trait;
pub mod static_modular_int;
pub mod static_modular_int_impl_from_i32;
pub mod static_modular_int_impl_from_i64;
pub mod static_modular_int_impl_from_u64;
pub mod static_modular_int_impl_from_usize;
pub mod static_modular_int_imple_group_theory;
pub mod static_modular_int_pow;
pub mod static_modular_int_trait;
pub mod static_modulus;
pub mod static_modulus_trait;
pub mod static_tensor_shape;
pub mod steiner_tree;
pub mod stooge_sort;
pub mod str_to_byte_vec;
pub mod str_to_char_vec;
pub mod string;
pub mod strongly_connected_components;
pub mod subset_sum;
pub mod subset_sum_at_most_k;
pub mod subset_sum_min_count;
pub mod subset_sum_multiple_same_values;
pub mod subset_sum_problem;
pub mod suffix_array;
pub mod suffix_array_doubling;
pub mod suffix_array_doubling_counting_sort;
pub mod suffix_array_sais;
pub mod suffix_tree;
pub mod sum_arithmetic_progression;
pub mod sum_of_divisors_count;
pub mod sum_of_divisors_count_times_i;
pub mod sum_of_divisors_sum;
pub mod sum_of_multiples;
pub mod sum_of_multiples_count_range;
pub mod sum_of_multiples_count_times_i_range;
pub mod sum_of_multiples_sum;
pub mod sum_of_multiples_sum_range;
pub mod swag;
pub mod t_tree;
pub mod tango_tree;
pub mod taylor_series;
pub mod tensor;
pub mod tensor_property;
pub mod tensor_trait;
pub mod ternary_heap;
pub mod ternary_search;
pub mod ternary_search_tree;
pub(crate) mod test_fast_prime_counting;
pub(crate) mod test_int_kth_root;
pub mod top_tree;
pub mod topological_sort;
pub mod topology;
pub mod torus;
pub mod total_order;
pub mod tournament_sort;
pub mod transitive_relation;
pub mod traveling_salesperson;
pub mod tree_bfs;
pub mod tree_depths;
pub mod tree_dfs;
pub mod tree_diameter;
pub mod tree_edges_to_graph;
pub mod tree_node;
pub mod tree_parents;
pub mod tree_path_query;
pub mod tree_path_query_binary_lifting;
pub mod tree_path_query_hld;
pub mod tree_sizes;
pub mod tree_sort;
pub mod tribonacci_number;
pub mod two_three_four_tree;
pub mod two_three_heap;
pub mod two_three_tree;
pub mod ub_tree;
pub mod unbounded_knapsack;
pub mod unbounded_knapsack_table_at_most;
pub mod undefined;
pub mod undirected_edges_to_directed;
pub mod undirected_lowlink;
pub mod union_find;
pub mod union_find_get_labels;
pub mod union_find_roots_are_same;
pub mod union_find_trait;
pub mod upper_bound_on_sequence;
pub mod usize_min;
pub mod van_emde_boas_tree;
pub mod vector;
pub mod vector_unique;
pub mod verbal_arithmetic;
pub mod vertex_cut;
pub mod vertex_seperator;
pub mod virtual_tree;
pub mod vp_tree;
pub mod wavelet_matrix;
pub mod weighted_union_algorithm;
pub mod x_tree;
pub mod xor_sparse_table;
pub mod z_algorithm;
pub mod zero_element;
pub mod zero_one_bfs;

// pub mod rerooting_dynamic;