dsalgo/
lib.rs

1#![feature(once_cell)]
2#![feature(generic_const_exprs)]
3#![feature(inherent_associated_types)]
4#![feature(array_chunks)]
5#![feature(iterator_try_collect)]
6#![feature(slice_as_chunks)]
7#![feature(is_sorted)]
8
9// #![allow(dead_code)]
10pub mod abs_diff;
11pub mod accumulate_iterator;
12pub mod accumulate_vec;
13pub mod adaptive_heap_sort;
14pub mod add_middle_nodes_and_make_double_tree_undirected_tuple_edges;
15pub mod add_with_xor_and_bitwise_and;
16pub mod addressable_heap;
17pub mod adjacency_list_graph_from_edges;
18pub mod adjacency_list_graph_from_edges_weighted;
19pub mod adjacency_list_graph_old;
20pub mod adjacency_list_graph_with_edge_id_from_edges;
21pub mod adjacency_list_to_directed_edges;
22pub mod adjacency_matrix_graph;
23pub mod af_heap;
24pub mod aho_corasick;
25pub mod algebraic_structure;
26pub mod algebraic_structure_impl;
27pub mod algebraic_structure_std;
28pub mod all_pairs_shortest_path;
29pub mod all_pairs_xor_sum;
30pub mod analysis;
31pub mod analysis_root_finding;
32pub mod analysis_search;
33pub mod apsp_johnson_dense;
34pub mod apsp_johnson_sparse;
35pub mod arborescence;
36pub mod argmax;
37pub mod argmin;
38pub mod argsort;
39pub mod arithmetic_series_with_diff;
40pub mod arithmetic_series_with_last;
41pub mod array_compression_unique_binary_search;
42pub mod array_rank_with_argsort;
43pub mod articulation_point;
44pub mod articulation_points_detection_chain_decomposition;
45pub mod articulation_points_detection_lowlink;
46pub mod ascii_characters;
47pub mod automorphism;
48pub mod auxiliary_tree;
49pub mod avl_array;
50pub mod avl_tree;
51pub mod avl_tree_array;
52pub mod avl_tree_ngtkn;
53pub mod avl_tree_node_with_box_recurse_merge_split_based;
54pub mod avl_tree_node_with_key_value_size_box_recurse;
55pub mod avl_tree_node_with_rc_refcell_merge_split_based_recurse;
56pub mod avl_tree_node_with_value_size_box_recurse;
57pub mod avl_tree_ordered_multiset;
58pub mod avl_tree_ordered_multiset_merge_split_based;
59pub mod avl_tree_ordered_multiset_merge_split_based_rc_refcell;
60pub mod b_plus_tree;
61pub mod b_star_tree;
62pub mod balanced_tree;
63pub mod ball_tree;
64pub mod barrett_reduction;
65pub mod base_conversion_base_k_to_decimal;
66pub mod base_conversion_decimal_to_base_k_with_divmod;
67pub mod base_conversion_decimal_to_base_k_with_euclid_divrem;
68pub mod batcher_odd_even_mergesort;
69pub mod bdd;
70pub mod bead_sort;
71pub mod beatty_sequence;
72pub mod bellman_ford_abstract_dp;
73pub mod bellman_ford_dense;
74pub mod bellman_ford_shortest_path_tree;
75pub mod bellman_ford_sssp_option_i64_with_negative_cycle_error;
76pub mod bellman_ford_sssp_tuple_edges_no_error_with_inf_i64;
77pub mod bellman_ford_sssp_tuple_edges_no_error_with_inf_i64_with_abstract;
78pub mod bfs_01_priority_queue;
79pub mod bfs_on_sparse_graph_in_degree_oriented;
80pub mod bfs_on_sparse_graph_in_degree_oriented_with_data;
81pub mod bidirected_graph;
82pub mod bijection;
83pub mod bin_count;
84pub mod binary_decision_diagram;
85pub mod binary_function;
86pub mod binary_greatest_common_divisor_u64;
87pub mod binary_heap;
88pub mod binary_heap_std_impl_priority_queue;
89pub mod binary_min_heap_0_indexed;
90pub mod binary_min_heap_impl_priority_queue;
91pub mod binary_relation;
92pub mod binary_search_2_ok_usize;
93pub mod binary_search_f64_with_max_epoch;
94pub mod binary_search_f64_with_terminate_func;
95pub mod binary_search_ng_ok_i64;
96pub mod binary_search_numeric;
97pub mod binary_search_on_slice_bisection_of_2_ok;
98pub mod binary_search_on_slice_bisection_of_ng_ok;
99pub mod binary_space_partitioning;
100pub mod binary_tree;
101pub mod binary_tree_node;
102pub mod binomial_heap;
103pub mod bisection_analysis;
104pub mod bit_array;
105pub mod bit_length_binary_search_u64;
106pub mod bit_length_naive_u64;
107pub mod bit_length_primitive;
108pub mod bit_length_table;
109pub mod bit_length_with_count_leading_zeros_u128;
110pub mod bit_length_with_count_leading_zeros_u64;
111pub mod bit_length_with_count_leading_zeros_usize;
112pub mod bit_reverse_divide_and_conquer_butterfly_usize;
113pub mod bit_reverse_with_std_usize;
114pub mod bit_set;
115pub mod bit_vector;
116pub mod bitonic_sort;
117pub mod bitops;
118pub mod bits_mask_less_than;
119pub mod bits_mask_range;
120pub mod bk_tree;
121pub mod block_cut_tree;
122pub mod block_sort;
123pub mod bool_to_int;
124pub mod borsuk_ulam;
125pub mod breadth_first_search_tree_from_adjacency_list;
126pub mod breadth_first_search_tree_from_edges;
127pub mod brent_cycle_detection;
128pub mod bridge_finding;
129pub mod bsp;
130pub mod btree_multiset;
131pub mod bubble_sort;
132pub mod bucket_sort;
133pub mod bucket_sort_make_argument_left_table;
134pub mod bucket_sort_make_argument_right_table;
135pub mod burn_embed;
136pub mod bx_tree;
137pub mod bytes_to_char_vec;
138pub mod cache_oblivious_distributing_sort;
139pub mod cached_fibonacci_number;
140pub mod caesar_cipher;
141pub mod carmichael_theorem;
142pub mod cartesian_coordinates_trait;
143pub mod cartesian_product;
144pub mod cartesian_tree;
145pub mod cascade_merge_sort;
146pub mod catalan_number_with_formula_modular_with_factorial_tables_usize;
147pub mod catalan_number_with_formula_modular_with_instant_choose_fn_usize;
148pub mod catalan_numbers_constant;
149pub mod catalan_numbers_table_modular_usize_with_dp;
150pub mod category;
151pub mod category_theory;
152pub mod ceil_division_i64;
153pub mod ceil_square_root_u64;
154pub mod center_nodes_of_tree;
155pub mod centroid_decomposition;
156pub mod change_max;
157pub mod change_min;
158pub mod chebyshev_distance_2d_i64;
159pub mod chebyshev_distance_ndim_i64;
160pub mod check_compressed_sparse_graph_is_sorted;
161pub mod check_two_circles_intersection;
162pub mod chinese_postman_problem;
163pub mod chinese_remainder_theorem;
164pub mod chinese_remainder_theorem_extended_euclidean_gcd_coprime_i64;
165pub mod chinese_remainder_theorem_extended_euclidean_gcd_coprime_usize;
166pub mod chinese_remainder_theorem_extended_euclidean_gcd_i64;
167pub mod chinese_remainder_theorem_extended_euclidean_gcd_prod_i64;
168pub mod chinese_remainder_theorem_extended_euclidean_gcd_prod_i64_direct;
169pub mod chinese_remainder_theorem_extended_euclidean_gcd_prod_usize;
170pub mod chinese_remainder_theorem_extended_euclidean_gcd_safe_i64;
171pub mod chinese_remainder_theorem_extended_euclidean_gcd_safe_usize;
172pub mod chinese_remainder_theorem_extended_euclidean_gcd_usize;
173pub mod chinese_remainder_theorem_garner_algorithm_i64;
174pub mod chinese_remainder_theorem_garner_algorithm_with_mod_i64;
175pub mod choose;
176pub mod cht;
177pub mod chu_liu_edmonds_minimum_spanning_arborescence;
178pub mod cipolla_algorithm;
179pub mod circle_2d_cartesian_i64;
180pub mod circle_dividing;
181pub mod circle_hough_transform;
182pub mod circular_buffer_deque;
183pub mod circular_buffer_queue;
184pub mod closest_pair_points;
185pub mod cmp;
186pub mod cocktail_shaker_sort;
187pub mod collection;
188pub mod collection_macro;
189pub mod comb_sort;
190pub mod combination_choose;
191pub mod combination_from_u64;
192pub mod combinatorics;
193pub mod comparison_sort;
194pub mod complete_digraph;
195pub mod complete_graph;
196pub mod complete_permutations;
197pub mod complex_number;
198pub mod complex_number_f64;
199pub mod complex_number_polar_form_f64;
200pub mod composition_category_theory;
201pub mod compressed_sparse_graph_from_dense_with_inf;
202pub mod compressed_sparse_graph_from_edges;
203pub mod connected_components;
204pub mod connected_components_bfs;
205pub mod connected_components_dfs;
206pub mod connected_components_dfs_recurse;
207pub mod connected_components_dsu;
208pub mod connected_components_group_by_id;
209pub mod connected_components_labels_to_groups;
210pub mod const_ascii_characters;
211pub mod const_generics_dimensional_geometric_vector;
212pub mod const_generics_dimensional_geometric_vector_i64;
213pub mod const_generics_modular_int_i64;
214pub mod const_generics_n_dim_dynamic_shaped_tensor;
215pub mod const_generics_ndim_vector;
216pub mod const_generics_shaped_matrix;
217pub mod const_generics_shaped_matrix_impl_semiring_with_std_ops;
218pub mod const_generics_shaped_matrix_with_flattened_data;
219pub mod const_generics_sized_square_matrix;
220pub mod const_generics_sized_square_matrix_impl_semiring_with_std_ops;
221pub mod const_generics_sized_square_matrix_on_usize_bitwise_xor_and;
222pub mod const_matrix_property_trait;
223pub mod const_modulus_frequent;
224pub mod const_modulus_trait;
225pub mod const_montmort_numbers_usize;
226pub mod const_square_matrix_property_trait;
227pub mod container;
228pub mod convert_to_bool;
229pub mod convex_hull_monotone_chain;
230pub mod convex_hull_trick;
231pub mod convolution_with_discrete_fourier_transform_f64;
232pub mod convolution_with_fft_cooley_tukey_inplace_f64;
233pub mod convolution_with_fft_cooley_tukey_recurse_f64;
234pub mod coordinates_compression;
235pub mod count_common_subsequences;
236pub mod count_common_substrings;
237pub mod count_distinct_substrings;
238pub mod count_divisors_by_factorization;
239pub mod count_divisors_naive;
240pub mod count_leading_zeros;
241pub mod count_leading_zeros_std;
242pub mod count_subsequences;
243pub mod count_subset_sum;
244pub mod count_trailing_zeros_in_digits_double_factorial;
245pub mod count_trailing_zeros_in_digits_factorial_legendre;
246pub mod count_trailing_zeros_std;
247pub mod counting_argsort;
248pub mod counting_array_rank;
249pub mod counting_sort;
250pub mod cover_tree;
251pub mod crt;
252pub mod cumulative_array;
253pub mod cumulative_product_vec_with_std_mul;
254pub mod cut_vertex;
255pub mod cycle_detection_undirected_graph_union_find;
256pub mod cycle_nodes_detection_on_undirected_unicyclic_simple_graph_with_bfs;
257pub mod cycle_nodes_detection_on_undirected_unicyclic_simple_graph_with_dfs;
258pub mod dancing_link;
259pub mod dancing_tree;
260pub mod day_stout_warren;
261pub mod dearangement;
262pub mod debug_macro;
263pub mod decision_tree;
264pub mod default;
265pub mod default_static_modular_arithmetic;
266pub mod define_const_modulus_macro;
267pub mod define_const_modulus_with_const_generics_macro;
268pub mod define_static_modulus_macro_with_atomic_cell;
269pub mod deletion;
270pub mod dense_graph_from_edges_with_inf;
271pub mod dense_graph_from_not_simple_edges_with_inf;
272pub mod depth_first_search_tree_from_adjacency_list_recurse;
273pub mod depth_first_search_tree_from_edges_recurse;
274pub mod deque_with_2_stacks;
275pub mod dial_sortest_path;
276pub mod digits_sum;
277pub mod dijkstra_arborescence;
278pub mod dijkstra_dense_i64_with_inf;
279pub mod dijkstra_dense_option_u64;
280pub mod dijkstra_queue_binary_heap_std;
281pub mod dijkstra_shortest_path_count_modular_i64_with_inf_sparse;
282pub mod dijkstra_sparse;
283pub mod dijkstra_sparse_from_potential;
284pub mod dijkstra_sparse_general_extended;
285pub mod dijkstra_sparse_option;
286pub mod dijkstra_sparse_parents;
287pub mod dijkstra_sparse_path_count;
288pub mod dijkstra_sparse_predecessors;
289pub mod dijkstra_sparse_queue;
290pub mod dijkstra_sparse_tuple_edges_adjacency_list_i64_with_const_inf;
291pub mod dijkstra_sparse_tuple_edges_adjacency_list_i64_with_initial_dist;
292pub mod dijkstra_sparse_tuple_edges_adjacency_list_u64_with_inf;
293pub mod dijkstra_tree;
294pub mod directed_acyclic_word_graph;
295pub mod directed_lowlink;
296pub mod discrete_fourier_transform_f64;
297pub mod discrete_logarithm;
298pub mod dist_2d_to_the_power_of_2;
299pub mod distance_on_tree_query_with_lca_doubling;
300pub mod divisor;
301pub mod divisor_function;
302pub mod divisor_function_table_naive;
303pub mod divisor_function_table_with_divisor_fast_zeta;
304pub mod divisor_function_table_with_divisor_zeta;
305pub mod divisors_count_from_prime_factors;
306pub mod divisors_from_prime_factors;
307pub mod divisors_sum_by_fatorization;
308pub mod divisors_sum_from_prime_factors;
309pub mod divisors_sum_table;
310pub mod divisors_table;
311pub mod divmod;
312pub mod dlp;
313pub mod double_ended_queue;
314pub mod double_factorial_table_from_i32;
315pub mod doubly_chained_tree;
316pub mod doubly_linked_list_deque;
317pub mod doubly_linked_list_node;
318pub mod dual_unbounded_subset_sum_min_count_item_oriented_with_inf;
319pub mod dual_unbounded_subset_sum_min_count_sum_oriented_with_inf;
320pub mod dynamic_array_queue;
321pub mod dynamic_matrix_property_trait;
322pub mod dynamic_modular_arithmetic_trait;
323pub mod dynamic_modulus;
324pub mod dynamic_modulus_trait;
325pub mod dynamic_shaped_matrix;
326pub mod dynamic_shaped_matrix_impl_reverse;
327pub mod dynamic_shaped_matrix_impl_rotate;
328pub mod dynamic_shaped_matrix_impl_semiring_with_std;
329pub mod dynamic_shaped_matrix_impl_transpose;
330pub mod dynamic_shaped_matrix_with_flattened_data;
331pub mod dynamic_sliding_window_maximum_queue_i64;
332pub mod dynamic_sliding_window_sum_deque_i64;
333pub mod dynamic_sqrt_bucket;
334pub mod dynamic_sqrt_bucket_multiset;
335pub mod dynamic_tensor;
336pub mod dynamic_tensor_shape;
337pub mod edges_to_0_indexed;
338pub mod enumerate_combinations_bits_with_next_combination;
339pub mod enumerate_combinations_dfs;
340pub mod enumerate_combinations_dfs_recurse;
341pub mod enumerate_combinations_inplace_iterative;
342pub mod enumerate_cycles_of_functional_graph_with_bfs;
343pub mod enumerate_cycles_of_functional_graph_with_dfs_recurse;
344pub mod enumerate_divisors;
345pub mod enumerate_highly_composite_numbers_bigint_priority_search;
346pub mod enumerate_highly_composite_numbers_prime_factor_dp;
347pub mod enumerate_highly_composite_numbers_priority_search;
348pub mod enumerate_homogeneous_products_dfs_recurse;
349pub mod enumerate_homogeneous_products_inplace_iterative;
350pub mod enumerate_nodes_in_rectangle_static_offline_with_event_sort;
351pub mod enumerate_nodes_in_rectangle_static_with_1d_bisect;
352pub mod enumerate_nodes_in_rectangle_static_with_array_compression_bisect;
353pub mod enumerate_nodes_in_rectangle_static_with_kd_tree;
354pub mod enumerate_prime_factor_candidates_for_highly_composite_numbers;
355pub mod enumerate_repeated_products_dfs_recurse;
356pub mod enumerate_repeated_products_inplace_iterative;
357pub mod enumerate_stepping_numbers_between_with_bfs;
358pub mod enumerate_stepping_numbers_less_than_with_bfs;
359pub mod enumerate_subset_bits;
360pub mod eppstein_algorithm;
361pub mod ett;
362pub mod euclidean_division_i64;
363pub mod euler_criterion;
364pub mod euler_jacobi_pseudo_prime;
365pub mod euler_phi_function;
366pub mod euler_phi_table_mobius_inversion_formula_divisor_fast_zeta_modint;
367pub mod euler_phi_table_mobius_inversion_formula_divisor_zeta_modint;
368pub mod euler_totient_function;
369pub mod euler_totient_function_table_with_divisor_fast_mobius;
370pub mod euler_totient_function_table_with_divisor_mobius;
371pub mod euler_totient_function_table_with_multiplicative_divisor_fast_zeta;
372pub mod euler_totient_function_table_with_multiplicative_divisor_zeta;
373pub mod euler_totient_with_instant_prime_factorize;
374pub mod euler_totient_with_least_prime_factor_table_usize;
375pub mod euler_totient_with_trial_division_i64;
376pub mod euler_totient_with_trial_division_u64;
377pub mod euler_totient_with_trial_division_usize;
378pub mod euler_tour_edges;
379pub mod euler_tour_edges_recurse;
380pub mod euler_tour_nodes_direct;
381pub mod euler_tour_nodes_direct_recurse;
382pub mod euler_tour_nodes_from_edges;
383pub mod euler_tour_teqnique_as_struct;
384pub mod eulerian_circuit;
385pub mod eulerian_path;
386pub mod eulerian_trail;
387pub mod exchange_sort;
388pub mod exponential_tree;
389pub mod extended_euclidean_gcd_generic_int_recurse;
390pub mod extended_euclidean_gcd_i64;
391pub mod extended_euclidean_gcd_i64_recurse;
392pub mod extended_euclidean_modular_gcd_inverse_i64_with_extgcd;
393pub mod extended_euclidean_modular_gcd_inverse_u64_direct;
394pub mod extended_euclidean_modular_gcd_inverse_usize_with_extgcd;
395pub mod factorial;
396pub mod factorial_table_from_i32;
397pub mod factorial_table_from_u64;
398pub mod factorial_tables_frequent_ops_from_i32;
399pub mod factorial_tables_frequent_ops_modular_usize;
400pub mod fairfield_ad_day_formula;
401pub mod farthest_node_on_unweighted_tree;
402pub mod farthest_node_query_on_unweigted_tree;
403pub mod fast_fourier_transform;
404pub mod fast_fourier_transform_bruun;
405pub mod fast_fourier_transform_cooley_tukey_inplace;
406pub mod fast_fourier_transform_cooley_tukey_inplace_recurse;
407pub mod fast_fourier_transform_cooley_tukey_recurse;
408pub mod fast_io_template;
409pub mod fast_mobius_transform;
410pub mod fast_mobius_transform_for_divisors_additive_with_std;
411pub mod fast_mobius_transform_for_divisors_with_instant_func;
412pub mod fast_mobius_transform_for_multiples_additive_with_std;
413pub mod fast_mobius_transform_for_multiples_with_instant_func;
414pub mod fast_mobius_transform_for_subset;
415pub mod fast_mobius_transform_for_subset_additive_with_std;
416pub mod fast_mobius_transform_for_superset;
417pub mod fast_mobius_transform_for_superset_additive_with_std;
418pub mod fast_modulo_transform;
419pub mod fast_prime_factorize_large_numbers;
420pub mod fast_zeta_transform;
421pub mod fast_zeta_transform_for_divisors_additive_with_std;
422pub mod fast_zeta_transform_for_divisors_with_instant_func;
423pub mod fast_zeta_transform_for_multiples_additive_with_std;
424pub mod fast_zeta_transform_for_multiples_with_instant_func;
425pub mod fast_zeta_transform_for_subset;
426pub mod fast_zeta_transform_for_subset_additive_with_std;
427pub mod fast_zeta_transform_for_subset_additive_with_std_optim;
428pub mod fast_zeta_transform_for_superset;
429pub mod fast_zeta_transform_for_superset_additive_with_std;
430pub mod fenwick_tree;
431pub mod fenwick_tree_2d;
432pub mod fenwick_tree_2d_abelian_group;
433pub mod fenwick_tree_2d_i64_add;
434pub mod fenwick_tree_2d_recurse;
435pub mod fenwick_tree_additive_abelian_group;
436pub mod fenwick_tree_additive_from_i32;
437pub mod fenwick_tree_dual_i64_add_1_indexed;
438pub mod fenwick_tree_dual_with_instance_abelian_group;
439pub mod fenwick_tree_dual_with_instance_commutative_monoid;
440pub mod fenwick_tree_dual_with_primal;
441pub mod fenwick_tree_dynamic_cumulative_sum_2_i64;
442pub mod fenwick_tree_dynamic_cumulative_sum_3_i64;
443pub mod fenwick_tree_i32_add_0_indexed;
444pub mod fenwick_tree_i32_add_1_indexed;
445pub mod fenwick_tree_i64_gcd;
446pub mod fenwick_tree_min;
447pub mod fenwick_tree_multiset;
448pub mod fenwick_tree_multiset_impl_median;
449pub mod fenwick_tree_multiset_impl_min_max;
450pub mod fenwick_tree_range_add_range_sum_i64;
451pub mod fenwick_tree_usize_add_1_indexed;
452pub mod fenwick_tree_with_instance_abelian_group_1_indexed;
453pub mod fenwick_tree_with_instance_commutative_monoid_1_indexed;
454pub mod fenwick_tree_with_static_abelian_group_1_indexed;
455pub mod fenwick_tree_with_static_commutative_monoid_1_indexed;
456pub mod fenwick_tree_xor;
457pub mod fermat_factorization_method;
458pub mod fft;
459pub mod fibonacci_heap;
460pub mod fibonacci_number;
461pub mod fibonacci_sequence_modular;
462pub mod field;
463pub mod find_a_node_from_given_node_step_by_k_edges_on_tree;
464pub mod find_a_prime_factor_pollard_rho_brent;
465pub mod find_divisor_pollard_rho_repeat_brent;
466pub mod find_divisor_pollard_rho_with_brent_cycle_detection;
467pub mod find_divisor_pollard_rho_with_floyd_cycle_detection;
468pub mod find_divisors_constructive_with_prime_factorize_lpf_table;
469pub mod find_divisors_for_const_remainders;
470pub mod find_divisors_for_same_remainders;
471pub mod find_divisors_trial_division_u64;
472pub mod find_divisors_trial_division_usize;
473pub mod find_first_set;
474pub mod find_kth_permutation;
475pub mod find_kth_set_bit_by_removing_lsb;
476pub mod find_low_median_of_divisors;
477pub mod finger_tree;
478pub mod flat_nonzero_int;
479pub mod flat_nonzero_with_to_bool;
480pub mod flatten_2d_tournament_list_to_1d;
481pub mod float_absolute_error_check;
482pub mod float_relative_error_check;
483pub mod floor_division_i64;
484pub mod floor_square_root_u64;
485pub mod floyd_warshall_abstruct_with_ternary_map;
486pub mod floyd_warshall_apsp_i64_with_inf;
487pub mod floyd_warshall_apsp_option_i64;
488pub mod floyd_warshall_apsp_u64;
489pub mod fold;
490pub mod ford_johnson_algorithm;
491pub mod formal_power_series;
492pub mod fourier_transform;
493pub mod fractal_tree_index;
494pub mod fraction_floor_sum;
495pub mod fraction_floor_sum_with_sqrt_split;
496pub mod fraction_floor_sum_with_sqrt_split_strict;
497pub mod fraction_i64;
498pub mod frobenius_endmorphism;
499pub mod functional_graph;
500pub mod functional_graph_basic_properties;
501pub mod functional_graph_doubling_table;
502pub mod functional_graph_kth_from;
503pub mod functional_graph_kth_from_any_with_doubling;
504pub mod functional_graph_level_ancestor_with_doubling;
505pub mod functional_graph_prefix_aggregation;
506pub mod functional_graph_prefix_sum;
507pub mod gamma_function;
508pub mod garner_algorithm;
509pub mod gaussian_elimination_xor;
510pub mod gcd_convolution;
511pub mod gcd_convolution_ring_with_std_multiples_fast_zeta_mobius;
512pub mod gcd_convolution_ring_with_std_multiples_zeta_mobius;
513pub mod gcds_for_lcm;
514pub mod gcds_for_sum;
515pub mod general_dijkstra_sparse;
516pub mod general_number_field_sieve;
517pub mod generalized_greatest_common_divisor_trait;
518pub mod genetic_algorithm;
519pub mod geometric_series;
520pub mod geometric_vector_2d;
521pub mod geometric_vector_2d_f64;
522pub mod geometric_vector_2d_i64;
523pub mod geometric_vector_3d;
524pub mod geometry;
525pub mod ghost_leg;
526pub mod gnfs;
527pub mod gnome_sort;
528pub mod gradient_boostring;
529pub mod graph;
530pub mod graph_bfs_abstract;
531pub mod graph_bfs_level;
532pub mod graph_bfs_path_count;
533pub mod graph_bfs_reachablity_from_any_of_multiple_nodes;
534pub mod graph_disconnected;
535pub mod graph_edge_trait;
536pub mod graph_impl;
537pub mod graph_old;
538pub mod graph_pointer_directed;
539pub mod graph_pointer_mixed;
540pub mod graph_pointer_undirected;
541pub mod graph_trait_pointer_mixed;
542pub mod graphops;
543pub mod greatest_common_divisor;
544pub mod greatest_common_divisor_euclid;
545pub mod greatest_common_divisor_euclidean;
546pub mod greatest_common_divisor_euclidean_recurse;
547pub mod greatest_common_divisor_euclidean_recurse_i64;
548pub mod greatest_common_divisor_euclidean_reduce;
549pub mod greatest_common_divisor_euclidean_signed;
550pub mod greatest_common_divisor_euclidean_u64;
551pub mod greatest_common_divisor_with_thomae_function;
552pub mod greatest_prime_factor_table_with_sieve_of_eratosthenes;
553pub mod greatest_prime_factor_with_least_prime_factor_usize;
554pub mod group_theory_id;
555pub mod hamming_distance;
556pub mod hash_tree;
557pub mod hcn;
558pub mod heapsort;
559pub mod heavly_light_decomposition;
560pub mod heavy_light_decomposition_labeling_post_order_more_than_half;
561pub mod height;
562pub mod highly_composite_numbers;
563pub mod hilbert_r_tree;
564pub mod histogram_sort;
565pub mod hld;
566pub mod homogeneous_product;
567pub mod homomorphism;
568pub mod hopcroft_karp;
569pub mod ida_star;
570pub mod identifier;
571pub mod ikthrt;
572pub mod impl_add_assign_from_add;
573pub mod impl_static_modulus_get_for_const_modulus;
574pub mod implicit_k_d_tree;
575pub mod index;
576pub mod insertion;
577pub mod insertion_sort;
578pub mod insertion_sort_enumerate_all_states;
579pub mod int_cube_root;
580pub mod int_kth_root_binary_search;
581pub mod int_kth_root_fast;
582pub mod int_kth_root_linear;
583pub mod int_kth_root_newton_method;
584pub mod integer_kth_root;
585pub mod integer_square_root;
586pub mod integer_square_root_digit_by_digit_recurse_u64;
587pub mod integer_square_root_digit_by_digit_u64;
588pub mod integer_square_root_linear_u64;
589pub mod integer_square_root_with_binary_search_u64;
590pub mod integer_square_root_with_binary_search_usize;
591pub mod integer_square_root_with_linear_addition_u64;
592pub mod integer_square_root_with_linear_subtraction_u64;
593pub mod integer_square_root_with_newton_method_u64;
594pub mod interpolation_sort;
595pub mod intersection_length_of_2_intervals;
596pub mod intersection_of_2_intervals;
597pub mod inverse_discrete_fourier_transform_f64;
598pub mod inverse_factorial_table_from_i32;
599pub mod inverse_factorial_table_from_u64;
600pub mod inversion_number_with_array_compression_and_fenwick_tree;
601pub mod io;
602pub mod io_buffered_read_wrapper;
603pub mod io_locked_stdin_reader;
604pub mod io_locked_stdout_buffered_writer;
605pub mod io_read_stdin;
606pub mod io_read_stdin_direct;
607pub mod io_read_token;
608pub mod io_read_vec_macro;
609pub mod io_write_all_macro;
610pub mod io_write_vec_macro;
611pub mod is_absorbing;
612pub mod is_adjacency_matrix;
613pub mod is_arborescence;
614pub mod is_bipartite_graph;
615pub mod is_eulerian_graph;
616pub mod is_identity;
617pub mod is_invertible;
618pub mod is_multiple_of_9;
619pub mod is_multitree;
620pub mod is_pairwise_coprime_with_prime_factorize;
621pub mod is_pairwise_coprime_with_sum_of_multiple_count;
622pub mod is_perfect_number;
623pub mod is_polytree;
624pub mod is_prime_naive;
625pub mod is_prime_table_from_enumerate_primes;
626pub mod is_prime_with_small_prime_numbers;
627pub mod is_quadratic_residue;
628pub mod is_quadratic_residue_z_pz_euler_criterion;
629pub mod is_regular_graph;
630pub mod is_setwise_coprime;
631pub mod is_subsequence;
632pub mod is_twin_prime;
633pub mod is_undirected_dense_graph;
634pub mod isomorphism;
635pub mod isqrt;
636pub mod iterate_over_multiples_for_1_n_harmonic_series_abstract;
637pub mod iterate_over_multiples_for_primes_in_1_n_harmonic_series_abstract;
638pub mod iterative_deepening_a_star_algorithm;
639pub mod jacobi_symbol;
640pub mod jacobi_symbol_recurse;
641pub mod join;
642pub mod k_d_tree;
643pub mod karatsuba_algorithm;
644pub mod karatsuba_mul_quotient_pow_2_power_of_2_128;
645pub mod kmp;
646pub mod knapsack;
647pub mod knapsack_01_dual_table_with_inf;
648pub mod knapsack_01_for_large_weights_with_dual;
649pub mod knapsack_01_table;
650pub mod knapsack_unbounded_table_bottom_up_max_value_oriented;
651pub mod knapsack_unbounded_table_item_oriented;
652pub mod knuth_morris_pratt;
653pub mod knuth_morris_pratt_failure_function_table_0_indexed;
654pub mod knuth_morris_pratt_failure_function_table_1_indexed;
655pub mod knuth_morris_pratt_find_all_substring_indices;
656pub mod knuth_yao_speedup;
657pub mod kth_node_query_on_tree;
658pub mod kth_node_query_on_tree_offline;
659pub mod label_bipartite_graph_with_bfs;
660pub mod las_vegas_algorithm;
661pub mod lazy_binary_heap_with_count_hash;
662pub mod lazy_binary_heap_with_remove_queue;
663pub mod lcm;
664pub mod lcm_convolution;
665pub mod lcm_convolution_ring_with_std_divisors_fast_zeta_mobius;
666pub mod lct;
667pub mod least_common_multiple;
668pub mod least_common_multiple_with_gcd_i64;
669pub mod least_common_multiple_with_gcd_reduce_u64;
670pub mod least_common_multiple_with_gcd_u64;
671pub mod least_common_multiple_with_gcd_usize;
672pub mod least_prime_factor_table_with_sieve_of_eratosthenes_u32;
673pub mod least_significant_bit_from_lsb_number;
674pub mod least_significant_bit_number_direct_i64;
675pub mod least_significant_bit_number_from_lsb_usize;
676pub mod least_significant_bit_with_std_ctz_u64;
677pub mod leftist_tree;
678pub mod legendre_formula_recurse_u64;
679pub mod legendre_formula_recurse_usize;
680pub mod legendre_formula_u64;
681pub mod legendre_symbol;
682pub mod legendre_symbol_euler_criterion;
683pub mod level_ancestor_offline_with_dfs_recurse;
684pub mod level_ancestor_with_doubling;
685pub mod level_ancestor_with_doubling_from_parent_depth;
686pub mod levenstein_distance;
687pub mod levenstein_distance_low_memory;
688pub mod levenstein_distance_low_memory_inplace;
689pub mod library_sort;
690pub mod lightgbm;
691pub mod line_segment_2d_i64;
692pub mod linear_hull;
693pub mod linear_prime_sieve_option_u32;
694pub mod linear_programming;
695pub mod linear_span;
696pub mod linear_time_minimum_spanning_tree;
697pub mod link_cut_tree;
698pub mod log_2_floor_u64;
699pub mod log_structured_merge_tree;
700pub mod logarithm_f64_for_any_base_with_log_e;
701pub mod logarithm_u64_floor_for_any_base_recursive;
702pub mod longest_common_prefix_array;
703pub mod longest_common_prefix_array_kasai;
704pub mod longest_common_subsequence;
705pub mod longest_common_substring;
706pub mod longest_common_substring_find_all_ends;
707pub mod longest_common_substring_length_low_memory;
708pub mod longest_common_substring_length_low_memory_with_z_algorithm;
709pub mod longest_common_substring_table;
710pub mod longest_increasing_subsequece_naive_i64;
711pub mod longest_increasing_subsequence;
712pub mod longest_non_decreasing_sequence;
713pub mod longest_palindromic_substring;
714pub mod lower_bound_on_slice;
715pub mod lowest_common_ancestor_offline_tarjan;
716pub mod lowest_common_ancestor_old;
717pub mod lowest_common_ancestor_with_binary_lifting;
718pub mod lowlink;
719pub mod lsm_tree;
720pub mod lucas_number;
721pub mod lucas_numbers_table;
722pub mod lucas_sequence;
723pub mod m_ary_tree;
724pub mod maclaurin_series;
725pub mod make_sparse_histogram;
726pub mod manacher;
727pub mod matrix;
728pub mod matrix_addition_i64;
729pub mod matrix_as_2d_vec;
730pub mod matrix_frequent;
731pub mod matrix_multiplication;
732pub mod matrix_multiplication_i64;
733pub mod matrix_rotate_counterclockwise_270;
734pub mod matrix_rotate_counterclockwise_90;
735pub mod matrix_subtraction_i64;
736pub mod matrix_transpose;
737pub mod matrix_transpose_with_option;
738pub mod matrix_with_static_property;
739pub mod matrix_with_static_property_define_bitwise_xor_and_usize;
740pub mod matrix_with_static_semiring_and_property;
741pub mod matrix_with_static_square_property_impl_semiring_with_std;
742pub mod maximal_clique;
743pub mod maximal_clique_for_small_adjacency_bits;
744pub mod maximum_cardinality_matching;
745pub mod maximum_flow;
746pub mod median_priority_queue_with_avl_multiset;
747pub mod median_priority_queue_with_fenwick_tree_multiset_for_small_usize;
748pub mod median_priority_queue_with_two_binary_heap;
749pub mod median_priority_queue_with_two_lazy_binary_heap;
750pub mod median_priority_queue_with_two_std_btree_multiset;
751pub mod merge_insertion_sort;
752pub mod merge_sort_bottom_up;
753pub mod merge_sort_inplace;
754pub mod merge_sort_recurse;
755pub mod merge_two_sorted_slice_as_vec;
756pub mod merge_two_sorted_vec_taking;
757pub mod mergeable_heap;
758pub mod mergesort;
759pub mod merkle_tree;
760pub mod metric_tree;
761pub mod min_max_linear_function_composition;
762pub mod min_max_pq;
763pub mod min_max_priority_queue_lazy_with_two_binary_heap;
764pub mod min_max_priority_queue_with_btree_map;
765pub mod min_max_priority_queue_with_fenwick;
766pub mod minimum_cost_arborescence;
767pub mod minimum_cost_elastic_matching;
768pub mod minimum_pair_sum_for_const_product;
769pub mod minimum_spanning_tree;
770pub mod minimum_spanning_tree_boruvka;
771pub mod minimum_spanning_tree_kruskal;
772pub mod minimum_spanning_tree_prim_dense;
773pub mod minimum_spanning_tree_prim_sparse;
774pub mod minimum_spanning_tree_reverse_delete;
775pub mod mo_algorithm;
776pub mod mo_algorithm_3d;
777pub mod mobius_function;
778pub mod mobius_function_table_with_divisor_fast_mobius_isize;
779pub mod mobius_function_table_with_divisor_mobius_isize;
780pub mod mobius_function_with_trial_division;
781pub mod mobius_transform_for_divisors_additive_with_std;
782pub mod mobius_transform_for_divisors_with_instant_func;
783pub mod mobius_transform_for_multiples_additive_with_std;
784pub mod mobius_transform_for_multiples_with_instant_func;
785pub mod mobius_transform_for_subset;
786pub mod mobius_transform_for_subset_additive_with_std;
787pub mod mobius_transform_for_superset;
788pub mod mobius_transformation;
789pub mod modular;
790pub mod modular_combination_choose_with_factorial_tables_usize;
791pub mod modular_cumprod_i64;
792pub mod modular_cumprod_usize;
793pub mod modular_division_i64;
794pub mod modular_factorial_table;
795pub mod modular_factorial_table_i64;
796pub mod modular_factorial_table_usize;
797pub mod modular_frequent;
798pub mod modular_int_with_arithmetic;
799pub mod modular_int_with_const_modulus_i64;
800pub mod modular_int_with_static_modulus;
801pub mod modular_int_with_static_modulus_i64;
802pub mod modular_inverse_euclidean_i64_no_error;
803pub mod modular_inverse_euclidean_u64;
804pub mod modular_inverse_euler_theorem_i64;
805pub mod modular_inverse_euler_theorem_u64;
806pub mod modular_inverse_factorial_table;
807pub mod modular_inverse_factorial_table_i64;
808pub mod modular_inverse_factorial_table_usize;
809pub mod modular_inverse_fermat_little_theorem_i32;
810pub mod modular_inverse_of_2_for_odd_modulus;
811pub mod modular_inverse_power_of_2_table_for_odd_modulus_i64;
812pub mod modular_inverse_table_usize;
813pub mod modular_linear_equation_with_chinese_remainder_theorem_euclidean;
814pub mod modular_linear_equation_with_chinese_remainder_theorem_garner;
815pub mod modular_linear_equation_with_euler_theorem_i64;
816pub mod modular_linear_equation_with_extended_euclidean_gcd;
817pub mod modular_matrix_multiplication_karatsuba_i64;
818pub mod modular_mul_u128_with_add_doubling;
819pub mod modular_power_for_prime_usize_recurse;
820pub mod modular_power_of_k_table;
821pub mod modular_power_of_power_for_prime_modulus;
822pub mod modular_power_recurse_i64;
823pub mod modular_power_u32;
824pub mod modular_power_u64;
825pub mod modular_power_usize_recurse;
826pub mod modular_power_with_neg_exp_i32;
827pub mod modular_tetration;
828pub mod monge_dynamic_programming;
829pub mod monte_carlo_algorithm;
830pub mod montgomery_modular_multiplication;
831pub mod montgomery_modular_multiplication_64;
832pub mod montgomery_static_modular_int_with_id_u64;
833pub mod montmort_number;
834pub mod montmort_numbers_table_from_i32;
835pub mod montmort_numbers_table_modular_usize;
836pub mod morphism;
837pub mod morris_pratt_longest_border_table_0_indexed;
838pub mod morris_pratt_longest_border_table_1_indexed;
839pub mod most_significant_bit_number_with_binary_search;
840pub mod most_significant_bit_number_with_msb;
841pub mod most_significant_bit_with_bit_length_u64;
842pub mod multi_key_quicksort;
843pub mod multiplicative_inverse;
844pub mod multiset;
845pub mod n_choose_table_from_i32;
846pub mod n_group_category;
847pub mod n_group_finite_group;
848pub mod naive_mobius_transform_for_subset_additive_with_std;
849pub mod negative_cycle;
850pub mod network_graph_node;
851pub(crate) mod new_rc_refcell;
852pub mod newton_method_with_derivative_function_f64;
853pub mod newton_raphson_division;
854pub mod next_combination_bits;
855pub mod next_power_of_2_table_const_usize;
856pub mod next_power_of_two_with_bit_length_u64;
857pub mod next_power_of_two_with_builtin_u64;
858pub mod next_prime_number;
859pub mod next_prime_number_table;
860pub mod next_subset_bits;
861pub mod normalize_sort_csgraph;
862pub mod ntt;
863pub mod number_of_common_subsequences_from_i32;
864pub mod number_of_common_subsequences_low_memory_from_i32;
865pub mod number_of_common_subsequences_low_memory_modular_i64;
866pub mod number_of_common_subsequences_modular_i64;
867pub mod number_of_common_substrings;
868pub mod number_of_complete_permutations;
869pub mod number_of_days_between_2_dates;
870pub mod number_of_dearangement;
871pub mod number_of_distinct_prime_factors_table_with_divisor_fast_zeta_usize;
872pub mod number_of_distinct_prime_factors_table_with_divisor_zeta_usize;
873pub mod number_of_distinct_subsequences;
874pub mod number_of_distinct_subsequences_modular_i64;
875pub mod number_of_distinct_subsequences_with_min_step_modular_i64;
876pub mod number_of_distinct_substrings_with_sais_lcp_kasai;
877pub mod number_of_divisors_from_prime_factorize_result;
878pub mod number_of_divisors_from_prime_factorize_result_modular;
879pub mod number_of_divisors_table_naive_usize;
880pub mod number_of_divisors_table_with_divisor_fast_zeta_transform_usize;
881pub mod number_of_divisors_table_with_divisor_zeta_transform_usize;
882pub mod number_of_edges_in_subgraph_naive_dp;
883pub mod number_of_edges_in_subgraph_with_subset_fast_zeta;
884pub mod number_of_edges_in_subgraph_with_subset_zeta;
885pub mod number_of_gcd_pairs_in_range_table_with_gcd_convolution;
886pub mod number_of_gcd_pairs_in_range_table_with_multiples_fast_mobius;
887pub mod number_of_lattice_points_in_polygon;
888pub mod number_of_lattice_points_on_segment;
889pub mod number_of_lcm_pairs_in_range_table_with_lcm_convolution;
890pub mod number_of_multiples_table_naive_usize;
891pub mod number_of_multiples_table_with_fast_multiple_zeta_usize;
892pub mod number_of_multiples_table_with_multiple_zeta_usize;
893pub mod number_of_nodes_reachable_into_cycle_bfs_rev_edges;
894pub mod number_of_nodes_reachable_into_cycle_dfs_recurse;
895pub mod number_of_pairs_in_range_l_r_whose_gcd_is_k_table;
896pub mod number_of_subsequences;
897pub mod number_of_swap_in_bubble_sort_with_target_as_inversion_number;
898pub mod number_of_swap_in_bubble_sort_with_target_naive;
899pub mod number_of_swap_in_selection_sort;
900pub mod number_of_swap_in_shell_sort;
901pub mod number_of_topological_sort;
902pub mod number_of_topological_sort_modular;
903pub mod number_of_undirected_cycle_graph_table;
904pub mod number_of_undirected_path_graph_table;
905pub mod number_theoritic_transform;
906pub mod number_trait;
907pub mod numeric_array_normalize_min_as_0;
908pub mod numeric_array_normalize_min_as_offset;
909pub mod odd_even_sort;
910pub mod ops;
911pub mod order_static_tree;
912pub mod ordered_set;
913pub mod oscillating_merge_sort;
914pub mod p_group;
915pub mod pairing_heap;
916pub mod pancacke_sorting;
917pub mod parity_check_matrix;
918pub mod partial_order;
919pub mod pascal_rule_cached_from_usize;
920pub mod pascal_simplex;
921pub mod pascal_triangle_from_i32;
922pub mod pascal_triangle_from_u64_low_memory;
923pub mod pascal_triangle_with_instance_semiring;
924pub mod patricia_tree;
925pub mod pattern_defeating_quick_sort;
926pub mod pdqsort;
927pub mod perfect_numbers;
928pub mod permutation_argsort;
929pub mod permutation_functional_graph_kth_from_any;
930pub mod ph_tree;
931pub mod pi_with_arccosine;
932pub mod pick_theorem;
933pub mod pigeonhole_sort;
934pub mod pivot_tree_node;
935pub mod pivot_tree_node_usize_recurse;
936pub mod pivot_tree_node_usize_with_size;
937pub mod pivot_tree_node_usize_with_size_recurse;
938pub mod pivot_tree_node_with_size_recurse;
939pub mod pivot_tree_ordered_set;
940pub mod pivot_tree_ordered_set_simple;
941pub mod pivot_tree_ordered_set_usize_with_size_with_vec;
942pub mod pocket_modint_u32;
943pub mod pocket_tree_bfs_depth;
944pub mod pocket_tree_bfs_parent;
945pub mod pointer_grpah;
946pub mod polar_coordinates_2d_f64;
947pub mod polar_coordinates_area;
948pub mod polar_coordinates_distance;
949pub mod polar_coordinates_system;
950pub mod polar_coordinates_trait;
951pub mod pollard_kangaroo_algorithm;
952pub mod pollard_p_1;
953pub mod pollard_rho;
954pub mod polygon_area_2_times_2d;
955pub mod polygon_area_2d;
956pub mod polyphase_merge_sort;
957pub mod pop;
958pub mod popcount_bit_by_bit;
959pub mod popcount_cached_usize;
960pub mod popcount_divide_and_conquer;
961pub mod popcount_divide_and_conquer_optimized;
962pub mod popcount_resetting_lsb_usize;
963pub mod popcount_table;
964pub mod popcount_table_const_8_bit_usize;
965pub mod popcount_table_with_subset_fast_zeta;
966pub mod popcount_with_const_8_bit_table_usize;
967pub mod popcount_with_k_bit_table_usize;
968pub mod popcount_with_std_u64;
969pub mod postman_sort;
970pub mod power;
971pub mod power_dynamic;
972pub mod power_group;
973pub mod power_group_itself;
974pub mod power_group_trait;
975pub mod power_monoid;
976pub mod power_monoid_itself;
977pub mod power_monoid_trait;
978pub mod power_multiplicative_group_with_std_ops_exp_from_i32;
979pub mod power_multiplicative_monoid_with_std_ops_exp_from_i32;
980pub mod power_multiplicative_semigroup_with_std_ops;
981pub mod power_multiplicative_semigroup_with_std_ops_exp_from_i32;
982pub mod power_multiplicative_semigroup_with_std_ops_recurse;
983pub mod power_semigroup;
984pub mod power_semigroup_itself;
985pub mod power_semigroup_recurse;
986pub mod power_semigroup_trait;
987pub mod pq_binary_heap_std_impl;
988pub mod pq_tree;
989pub mod pr_tree;
990pub mod prefix_function;
991pub mod prefix_tree;
992pub mod preorder;
993pub mod previous_prime_number;
994pub mod previous_prime_number_table;
995pub mod primality;
996pub mod prime;
997pub mod prime_counting_fast;
998pub mod prime_counting_fast_half;
999pub mod prime_counting_fast_optimized;
1000pub mod prime_counting_function;
1001pub mod prime_counting_meissel_lehmer;
1002pub mod prime_factorization_of_lcm_of_multiple_nums;
1003pub mod prime_factorize_combination_with_sieve_of_eratosthenes;
1004pub mod prime_factorize_combination_with_sieve_of_eratosthenes_legendre;
1005pub mod prime_factorize_factorial_histogram_with_trial_division;
1006pub mod prime_factorize_factorial_with_legendre_formula_u32;
1007pub mod prime_factorize_factorial_with_legendre_formula_usize;
1008pub mod prime_factorize_factorial_with_lpf_u32;
1009pub mod prime_factorize_fermat;
1010pub mod prime_factorize_lenstra_elliptic_curve;
1011pub mod prime_factorize_pollard_rho;
1012pub mod prime_factorize_pollard_rho_flat;
1013pub mod prime_factorize_pollard_rho_flat_2;
1014pub mod prime_factorize_quadratic_sieve;
1015pub mod prime_factorize_trial_division;
1016pub mod prime_factorize_trial_division_usize;
1017pub mod prime_factorize_with_least_prime_factor_table_u32;
1018pub mod prime_factorize_with_least_prime_factor_table_usize;
1019pub mod prime_number;
1020pub mod prime_omega_function;
1021pub mod prime_pi_approx_ln;
1022pub mod prime_pi_function;
1023pub mod prime_pi_power_of_10;
1024pub mod prime_pi_table_from_enumerate_primes;
1025pub mod priority_queue;
1026pub mod priority_queue_trait;
1027pub mod priority_r_tree;
1028pub mod project_selection_problem;
1029pub mod proportion_extend_sort;
1030pub mod proth_number;
1031pub mod proxmap_sort;
1032pub mod prufer_group;
1033pub mod pseudorandom_number_generator;
1034pub mod quasigroup;
1035pub mod query;
1036pub mod query_on_tree_path;
1037pub mod queue_with_2_stacks;
1038pub mod quick_sort_inplace_recurse;
1039pub mod quicksort;
1040pub mod r_plus_tree;
1041pub mod r_star_tree;
1042pub mod rabin_karp;
1043pub mod radix_heap;
1044pub mod radix_sort;
1045pub mod radix_tree;
1046pub mod random_forest;
1047pub mod random_sequence_generate;
1048pub mod randomized_binary_search_tree;
1049pub mod range_tree;
1050pub mod rank_of_permutation_for_small_n;
1051pub mod rbst;
1052pub mod read_adjacency_list_graph;
1053pub mod read_edges;
1054pub mod read_matrix;
1055pub mod read_weighted_adjacency_list_graph;
1056pub mod read_weigted_edges;
1057pub mod rectangle_tree;
1058pub mod red_black_tree;
1059pub mod reduce;
1060pub mod reflexive_relation;
1061pub mod rerooting;
1062pub mod rerooting_dp;
1063pub mod rerooting_dp_with_instance_abelian_group;
1064pub mod rerooting_dp_with_instance_abelian_group_with_std_ops;
1065pub mod rerooting_dp_with_instance_commutative_monoid;
1066pub mod rerooting_dp_with_instance_commutative_monoid_as_struct_recurse;
1067pub mod rerooting_dp_with_instance_commutative_monoid_old;
1068pub mod rerooting_dp_with_instance_commutative_monoid_with_std_ops;
1069pub mod rerooting_dp_with_node_priority_with_instance_monoid;
1070pub mod reset_least_significant_bit_direct_u64;
1071pub mod reset_least_significant_bit_smart;
1072pub mod reset_least_significant_bit_smart_u64;
1073pub mod reset_least_significant_bit_subtract_lsb_number;
1074pub mod restore_tree_path_from_root_with_parent;
1075pub mod rle;
1076pub mod rng;
1077pub mod rng_linear_congruential;
1078pub mod rng_mersenne_twister;
1079pub mod rng_static_xorshift64;
1080pub mod rng_xorshift;
1081pub mod rng_xorshift1024star;
1082pub mod rng_xorshift128;
1083pub mod rng_xorshift128plus;
1084pub mod rng_xorshift32;
1085pub mod rng_xorshift64;
1086pub mod rng_xorshift64star;
1087pub mod rng_xorshift96;
1088pub mod rng_xorwow;
1089pub mod rng_xoshiro256_core;
1090pub mod rng_xoshiro256plus;
1091pub mod rng_xoshiro256starstar;
1092pub mod round_up_with_int_u64;
1093pub mod run_length_encoding;
1094pub mod safe_int_power;
1095pub mod sat_2;
1096pub mod sbbst;
1097pub mod scapegoat_tree;
1098pub mod scc;
1099pub mod segment_tree_2d;
1100pub mod segment_tree_2d_dense;
1101pub mod segment_tree_additive_with_std;
1102pub mod segment_tree_beats;
1103pub mod segment_tree_dual;
1104pub mod segment_tree_dual_additive_from_i32_with_std;
1105pub mod segment_tree_dual_range_update_additive_from_i32_with_std;
1106pub mod segment_tree_dual_range_update_with_instance;
1107pub mod segment_tree_dual_range_update_with_static;
1108pub mod segment_tree_dual_with_instance_monoid;
1109pub mod segment_tree_dual_with_instance_monoid_recurse;
1110pub mod segment_tree_dual_with_static_monoid;
1111pub mod segment_tree_dynamic_node;
1112pub mod segment_tree_i64_add;
1113pub mod segment_tree_i64_min;
1114pub mod segment_tree_lazy_01_sequence_range_xor_range_inversion_number;
1115pub mod segment_tree_lazy_additive_homomorphism_with_std_ops;
1116pub mod segment_tree_lazy_additive_homomorpshim_range_update_range_sum_modint;
1117pub mod segment_tree_lazy_i64_range_add_range_sum;
1118pub mod segment_tree_lazy_range_add_range_minimum;
1119pub mod segment_tree_lazy_range_affine_range_sum;
1120pub mod segment_tree_lazy_range_update_range_minimum;
1121pub mod segment_tree_lazy_range_update_range_sum;
1122pub mod segment_tree_lazy_with_instance_homomorphism;
1123pub mod segment_tree_lazy_with_instance_homomorphism_recurse;
1124pub mod segment_tree_lazy_with_static_ops;
1125pub mod segment_tree_min;
1126pub mod segment_tree_multiset;
1127pub mod segment_tree_point_update_get_range_sum_and_range_prefix_sum_min_i64;
1128pub mod segment_tree_range_minimum;
1129pub mod segment_tree_with_instance_monoid;
1130pub mod segment_tree_with_instance_monoid_recurse;
1131pub mod segment_tree_with_static_monoid;
1132pub mod selection_sort;
1133pub mod self_balancing_binary_search_tree;
1134pub mod set_theory;
1135pub mod shaker_sort;
1136pub mod shakutori_method;
1137pub mod shear_sort;
1138pub mod shell_sort;
1139pub mod shell_sort_gap_sequences;
1140pub mod shortest_path_01_bfs_sparse;
1141pub mod shortest_path_a_star_2d_grid_path_or_wall_udlr_option_u32;
1142pub mod shortest_path_a_star_sparse_tuple_edges_adjacency_list_i64_with_inf;
1143pub mod shortest_path_arborescence;
1144pub mod shortest_path_bfs_2d_grid_path_or_wall_simple_udlr_move;
1145pub mod shortest_path_bfs_sparse_tuple_edges_adjacency_list_usize;
1146pub mod shortest_path_desopo_pape_sparse;
1147pub mod shortest_path_potential;
1148pub mod shortest_path_predecessors;
1149pub mod shortest_path_tree;
1150pub mod shortest_path_viterbi;
1151pub mod shuffle_sort;
1152pub mod sieve_of_atkin;
1153pub mod sieve_of_eratosthenes_enumerate_primes_in_range_query_optim_u64;
1154pub mod sieve_of_eratosthenes_enumerate_primes_in_range_query_usize;
1155pub mod sieve_of_eratosthenes_enumerate_primes_in_range_usize;
1156pub mod sieve_of_eratosthenes_enumerate_primes_u32;
1157pub mod sieve_of_eratosthenes_enumerate_primes_usize;
1158pub mod sieve_of_eratosthenes_euler_totient_function_table_direct_usize;
1159pub mod sieve_of_eratosthenes_greatest_prime_factor_table_direct_usize;
1160pub mod sieve_of_eratosthenes_is_prime_table;
1161pub mod sieve_of_eratosthenes_is_prime_table_const_fast;
1162pub mod sieve_of_eratosthenes_least_prime_factor_table_usize;
1163pub mod sieve_of_eratosthenes_least_prime_factor_table_usize_optim;
1164pub mod sieve_of_eratosthenes_least_prime_factor_table_usize_optim2;
1165pub mod sieve_of_eratosthenes_legendre;
1166pub mod sieve_of_eratosthenes_low_memory_prime_factorize_generator;
1167pub mod sieve_of_eratosthenes_low_memory_prime_generator_optim_u64;
1168pub mod sieve_of_eratosthenes_low_memory_prime_generator_usize;
1169pub mod sieve_of_eratosthenes_mobius_function_table_direct_isize;
1170pub mod sieve_of_eratosthenes_mobius_function_table_direct_isize_optim;
1171pub mod sieve_of_eratosthenes_number_of_distinct_prime_factors_table_usize;
1172pub mod sieve_of_eratosthenes_prime_factorize_factorial;
1173pub mod sieve_of_eratosthenes_prime_factorize_factorial_flat;
1174pub mod sieve_of_eratosthenes_prime_factorize_factorial_histogram;
1175pub mod sieve_of_eratosthenes_prime_factorize_flat_in_range;
1176pub mod sieve_of_eratosthenes_prime_factorize_flat_in_range_query;
1177pub mod sieve_of_eratosthenes_prime_factorize_in_range;
1178pub mod sieve_of_eratosthenes_prime_factorize_in_range_query;
1179pub mod sieve_of_eratosthenes_prime_factorize_table_flat_in_range_query;
1180pub mod sieve_of_eratosthenes_prime_factorize_table_flat_usize;
1181pub mod sieve_of_eratosthenes_prime_factorize_table_in_range_query;
1182pub mod sieve_of_eratosthenes_prime_factorize_table_usize;
1183pub mod sieve_of_eratosthenes_range_sieve_enumerate;
1184pub mod sieve_of_euler;
1185pub mod sieve_of_linear;
1186pub mod sieve_of_sundaram_u32;
1187pub mod simulated_annealing;
1188pub mod single_source_shortest_path;
1189pub mod singly_linked_list_node_with_box;
1190pub mod singly_linked_list_node_with_rc_refcell;
1191pub mod singly_linked_list_queue;
1192pub mod singly_linked_list_stack;
1193pub mod size;
1194pub mod skew_heap;
1195pub mod sliding_window_aggregation;
1196pub mod sliding_window_aggregation_deque_with_instance_group;
1197pub mod sliding_window_aggregation_queue_with_instance_group;
1198pub mod sliding_window_aggregation_queue_with_instance_monoid;
1199pub mod sliding_window_maximum_with_deque;
1200pub mod sliding_window_minimum_with_deque;
1201pub mod slope_trick;
1202pub mod slowsort;
1203pub mod smallest_enclosing_circle;
1204pub mod smawk_algorithm;
1205pub mod smoothsort;
1206pub mod solver;
1207pub mod sort;
1208pub mod sortable_fifo_queue;
1209pub mod sorting_network;
1210pub mod sorting_number;
1211pub mod spaghetti_sort;
1212pub mod spanning_forest_with_uf;
1213pub mod sparse_table_with_instance_idempotent_binary_operation;
1214pub mod sparse_table_with_static_idempotent_binary_operation;
1215pub mod sparse_table_with_static_idempotent_semigroup;
1216pub mod spfa;
1217pub mod splay_tree_multiset;
1218pub mod splay_tree_multiset_recurse;
1219pub mod splay_tree_multiset_unsafe;
1220pub mod splay_tree_multiset_unsafe_recurse;
1221pub mod splay_tree_multiset_with_array_recurse;
1222pub mod splay_tree_node;
1223pub mod splay_tree_node_recurse;
1224pub mod splay_tree_node_unsafe;
1225pub mod splay_tree_node_unsafe_recurse;
1226pub mod splay_tree_node_with_array_recurse;
1227pub mod splay_tree_node_with_trait;
1228pub mod split;
1229pub mod spqr_tree;
1230pub mod spreadsort;
1231pub mod sqrt_decomposition;
1232pub mod sqrt_decomposition_additive_with_std;
1233pub mod sqrt_decomposition_dual_range_add_i64;
1234pub mod sqrt_decomposition_dual_range_update_i32;
1235pub mod sqrt_decomposition_dual_with_instance_monoid;
1236pub mod sqrt_decomposition_i64_add;
1237pub mod sqrt_decomposition_lazy_i64_range_add_range_sum;
1238pub mod sqrt_decomposition_lazy_range_add_range_minimum;
1239pub mod sqrt_decomposition_lazy_range_update_range_minimum;
1240pub mod sqrt_decomposition_lazy_range_update_range_sum;
1241pub mod sqrt_decomposition_lazy_with_instance_homomorphism;
1242pub mod sqrt_decomposition_multiset;
1243pub mod sqrt_decomposition_range_minimum_i32;
1244pub mod sqrt_decomposition_range_sum_i64;
1245pub mod sqrt_decomposition_with_instance_monoid;
1246pub mod sqrt_tree;
1247pub mod srt_division;
1248pub mod sssp_dijkstra_sparse_with_general;
1249pub mod sssp_faster_algorithm;
1250pub mod stable_sort;
1251pub mod stack_with_vec;
1252pub mod static_const_modulus_frequent;
1253pub mod static_matrix_property_frequent;
1254pub mod static_matrix_property_i64_2_2;
1255pub mod static_matrix_property_trait;
1256pub mod static_modular_arithmetic_trait;
1257pub mod static_modular_int_i64;
1258pub mod static_modular_int_with_id_i64;
1259pub mod static_modulus_trait;
1260pub mod static_square_matrix;
1261pub mod static_square_matrix_property_trait;
1262pub mod static_square_matrix_with_id;
1263pub mod static_tensor_shape;
1264pub mod steiner_tree;
1265pub mod stooge_sort;
1266pub mod strconv;
1267pub mod strict_bellman_ford_abstract;
1268pub mod string_ith_ascii_letter;
1269pub mod string_ith_char;
1270pub mod strongly_connected_components;
1271pub mod strongly_connected_components_kosaraju;
1272pub mod strongly_connected_components_kosaraju_as_struct_recurse;
1273pub mod strongly_connected_components_kosaraju_recurse;
1274pub mod strongly_connected_components_path_based;
1275pub mod strongly_connected_components_path_based_another;
1276pub mod strongly_connected_components_path_based_as_struct_recurse;
1277pub mod strongly_connected_components_path_based_recurse;
1278pub mod strongly_connected_components_reachability_based;
1279pub mod strongly_connected_components_tarjan_lowlink;
1280pub mod strongly_connected_components_tarjan_lowlink_as_struct_recurse;
1281pub mod strongly_connected_components_tarjan_lowlink_recurse;
1282pub mod strongly_connected_components_topological_sort;
1283pub mod strongly_connected_components_transpose;
1284pub mod submodular_flow;
1285pub mod submodular_function;
1286pub mod submodular_set_function;
1287pub mod subset_sum;
1288pub mod subset_sum_at_most_k;
1289pub mod subset_sum_limited_count_multiple_same_values;
1290pub mod subset_sum_max_less_than_meet_in_the_middle_usize;
1291pub mod subset_sum_min_count;
1292pub mod subset_sum_problem;
1293pub mod suffix_array;
1294pub mod suffix_array_doubling_argsort;
1295pub mod suffix_array_doubling_argsort_const_optim;
1296pub mod suffix_array_doubling_counting_argsort;
1297pub mod suffix_array_induced_sort;
1298pub mod suffix_array_induced_sort_recurse;
1299pub mod suffix_automaton;
1300pub mod suffix_tree;
1301pub mod sum_arithmetic_progression;
1302pub mod sum_of_all_pairs_xor_in_array_modular;
1303pub mod sum_of_all_pairs_xor_in_array_modular_usize;
1304pub mod sum_of_divisors_count;
1305pub mod sum_of_divisors_count_times_i;
1306pub mod sum_of_divisors_sum;
1307pub mod sum_of_divisors_table_naive;
1308pub mod sum_of_divisors_table_with_divisor_fast_zeta;
1309pub mod sum_of_divisors_table_with_divisor_zeta;
1310pub mod sum_of_gcd_for_each_element_is_1_to_k_euler_phi_from_usize;
1311pub mod sum_of_gcd_for_each_element_is_1_to_k_fast_mobius_transform_from_usize;
1312pub mod sum_of_gcd_for_each_element_is_1_to_k_fast_mobius_transform_usize;
1313pub mod sum_of_gcd_for_each_element_is_1_to_k_mobius_transform_from_usize;
1314pub mod sum_of_gcd_for_each_element_is_1_to_k_mobius_transform_usize;
1315pub mod sum_of_gcd_with_k_for_1_to_n_with_divisors_euler_phi;
1316pub mod sum_of_gcd_with_k_for_1_to_n_with_divisors_factorize_fast_mobius;
1317pub mod sum_of_i_times_n_choose_i;
1318pub mod sum_of_lcp_of_all_suffix_pairs_with_sais_lcp_kasai;
1319pub mod sum_of_lcp_with_all_suffixes_with_z_algorithm;
1320pub mod sum_of_multiples;
1321pub mod sum_of_multiples_count_range;
1322pub mod sum_of_multiples_count_times_i_range;
1323pub mod sum_of_multiples_sum_range;
1324pub mod sum_of_multiples_sum_with_smart_formula;
1325pub mod sum_of_multiples_table_naive;
1326pub mod sum_of_multiples_table_with_multiples_fast_zeta;
1327pub mod sum_of_multiples_table_with_multiples_zeta;
1328pub mod sum_of_n_choose_i;
1329pub mod sum_of_product_of_all_pairs;
1330pub mod sum_of_xor_prod_of_all_subsets_in_array_modular;
1331pub mod swag;
1332pub mod t_tree;
1333pub mod tango_tree;
1334pub mod taylor_series;
1335pub mod tensor;
1336pub mod tensor_property;
1337pub mod tensor_trait;
1338pub mod ternary_heap;
1339pub mod ternary_search;
1340pub mod ternary_search_tree;
1341pub(crate) mod test_fast_prime_counting;
1342pub(crate) mod test_int_kth_root;
1343pub mod top_tree;
1344pub mod topological_sort;
1345pub mod topology;
1346pub mod torus;
1347pub mod total_order;
1348pub mod tournament_sort;
1349pub mod transitive_relation;
1350pub mod transpose_sparse_graph_with_unweighted_edges;
1351pub mod transpose_sparse_graph_with_weighted_edges;
1352pub mod traveling_salesperson;
1353pub mod traveling_salesperson_give_and_take_mem_access_optim_with_inf;
1354pub mod traveling_salesperson_giving_with_inf;
1355pub mod traveling_salesperson_taking_with_inf;
1356pub mod treap;
1357pub mod tree_bfs_abstract;
1358pub mod tree_bfs_depth_with_abstract;
1359pub mod tree_bfs_parent;
1360pub mod tree_bfs_parent_depth;
1361pub mod tree_bfs_parent_with_abstract;
1362pub mod tree_dfs_abstract;
1363pub mod tree_dfs_euler_tour_heavy_light_decomposition_as_struct;
1364pub mod tree_dfs_parent_depth_size;
1365pub mod tree_dfs_size_recurse;
1366pub mod tree_dfs_size_with_abstract;
1367pub mod tree_diameter_and_path_weigted_edge_find_farthest_2_times_with_dfs;
1368pub mod tree_diameter_dp_for_each_subtree_with_dfs;
1369pub mod tree_diameter_finding_farthest_2_times_with_bfs;
1370pub mod tree_diameter_path_unweighted;
1371pub mod tree_diameter_terminal_nodes;
1372pub mod tree_edges_to_graph;
1373pub mod tree_get_path_query_with_lifting;
1374pub mod tree_get_path_with_bfs;
1375pub mod tree_node;
1376pub mod tree_path_aggregation;
1377pub mod tree_path_aggregation_with_binary_lifting;
1378pub mod tree_path_aggregation_with_hld;
1379pub mod tree_restore_path_from_parents;
1380pub mod tree_sort;
1381pub mod triangle_2d_area_with_vector_cross_product;
1382pub mod triangle_2d_with_vector_i64;
1383pub mod tribonacci_number;
1384pub mod tribonacci_sequence_modular;
1385pub mod trigonometry_tau_with_pi;
1386pub mod two_sat;
1387pub mod two_satisfiability;
1388pub mod two_three_four_tree;
1389pub mod two_three_heap;
1390pub mod two_three_tree;
1391pub mod ub_tree;
1392pub mod undirected_bridge_detection_chain_decomposition;
1393pub mod undirected_bridge_detection_lowlink;
1394pub mod undirected_edges_to_bidirected;
1395pub mod undirected_lowlink;
1396pub mod undirected_tuple_edges_to_adjacency_list;
1397pub mod undirected_tuple_edges_with_data_to_adjacency_list;
1398pub mod union_find_low_memory;
1399pub mod union_find_low_memory_minimal;
1400pub mod union_find_low_memory_with_trait;
1401pub mod union_find_persistent;
1402pub mod union_find_potentialized_i64_add;
1403pub mod union_find_potentialized_with_instance_abelian_group;
1404pub mod union_find_potentialized_with_static_abelian_group_and_trait;
1405pub mod union_find_rollback;
1406pub mod union_find_traits;
1407pub mod union_find_weighted;
1408pub mod upper_bound_on_slice;
1409pub mod usize_u64_impl_graph_edge_trait;
1410pub mod van_emde_boas_tree;
1411pub mod vector_2d_i64_impl_angle_sort;
1412pub mod vector_dedup;
1413pub mod vector_rotate_counterclockwise_180_2d_i64;
1414pub mod vector_rotate_counterclockwise_270_2d_i64;
1415pub mod vector_rotate_counterclockwise_90_2d_i64;
1416pub mod vector_rotation_2d_by_radian_with_matrix;
1417pub mod vector_rotation_3d_by_radian_with_matrix;
1418pub mod vector_rotation_matrix_2d;
1419pub mod vector_space;
1420pub mod vector_unique;
1421pub mod verbal_arithmetic;
1422pub mod vertex_cut;
1423pub mod vertex_seperator;
1424pub mod virtual_tree;
1425pub mod viterbi_algorithm;
1426pub mod volume_of_torus;
1427pub mod vp_tree;
1428pub mod wavelet_matrix;
1429pub mod wavl_tree;
1430pub mod weak_avl_tree;
1431pub mod weighted_union_algorithm;
1432pub mod x_tree;
1433pub mod xor_distance_on_tree_query;
1434pub mod xor_distance_on_tree_with_dfs_usize;
1435pub mod xor_of_all_pairs_bitwise_and_of_two_arrays;
1436pub mod xor_prefix_set_hash;
1437pub mod xor_vector_space_basis_original_with_gaussian_elimination;
1438pub mod xor_vector_space_basis_original_with_linear_span_bfs;
1439pub mod xor_vector_space_basis_with_cumulative_min;
1440pub mod xor_vector_space_basis_with_gaussian_elimination;
1441pub mod xor_vector_space_gaussian_elimination;
1442pub mod xor_vectors_rank_online_with_gaussian_elimination;
1443pub mod z_algorithm;
1444pub mod z_algorithm_find_all_substring_indices;
1445pub mod zeller_day_of_week_congruence_formula;
1446pub mod zero_element;
1447pub mod zero_one_bfs;
1448pub mod zeta_transform_for_divisors_additive_with_std;
1449pub mod zeta_transform_for_divisors_with_instant_func;
1450pub mod zeta_transform_for_multiples_additive_with_std;
1451pub mod zeta_transform_for_multiples_with_instant_func;
1452pub mod zeta_transform_for_subset;
1453pub mod zeta_transform_for_subset_additive_with_std;
1454pub mod zeta_transform_for_superset;
1455
1456// pub mod rerooting_dynamic;