[INFO] cloning repository https://github.com/yoimers/rust-atcoder
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yoimers/rust-atcoder" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyoimers%2Frust-atcoder", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyoimers%2Frust-atcoder'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4594e688063be815d3bafad7113212b0a6bf211c
[INFO] checking yoimers/rust-atcoder against master#a26e97be8826d408309fffbd8168362365719f50 for pr-136776
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyoimers%2Frust-atcoder" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/yoimers/rust-atcoder on toolchain a26e97be8826d408309fffbd8168362365719f50
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a26e97be8826d408309fffbd8168362365719f50" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/yoimers/rust-atcoder
[INFO] finished tweaking git repo https://github.com/yoimers/rust-atcoder
[INFO] tweaked toml for git repo https://github.com/yoimers/rust-atcoder written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/yoimers/rust-atcoder already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a26e97be8826d408309fffbd8168362365719f50" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cargo-snippet v0.6.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+a26e97be8826d408309fffbd8168362365719f50" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 10751a1a8fd3eb1bfe35011750a8b901d295bb217704826a97f5fd8ac260a783
[INFO] running `Command { std: "docker" "start" "-a" "10751a1a8fd3eb1bfe35011750a8b901d295bb217704826a97f5fd8ac260a783", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "10751a1a8fd3eb1bfe35011750a8b901d295bb217704826a97f5fd8ac260a783", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "10751a1a8fd3eb1bfe35011750a8b901d295bb217704826a97f5fd8ac260a783", kill_on_drop: false }`
[INFO] [stdout] 10751a1a8fd3eb1bfe35011750a8b901d295bb217704826a97f5fd8ac260a783
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+a26e97be8826d408309fffbd8168362365719f50" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 77d6baa00dac15b10f24b291054bc918735f824bed46137e4f50d1ee1a7f213c
[INFO] running `Command { std: "docker" "start" "-a" "77d6baa00dac15b10f24b291054bc918735f824bed46137e4f50d1ee1a7f213c", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.137
[INFO] [stderr]     Checking either v1.9.0
[INFO] [stderr]     Checking superslice v1.0.0
[INFO] [stderr]    Compiling cargo-snippet v0.6.5
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking proconio v0.4.5
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking mysnippet v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/coord_compression.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MAX_RUQ` should have an upper camel case name
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:221:8
[INFO] [stdout]     |
[INFO] [stdout] 221 | struct MAX_RUQ;
[INFO] [stdout]     |        ^^^^^^^ help: convert the identifier to upper camel case: `MaxRuq`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MIN_RUQ` should have an upper camel case name
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:257:8
[INFO] [stdout]     |
[INFO] [stdout] 257 | struct MIN_RUQ;
[INFO] [stdout]     |        ^^^^^^^ help: convert the identifier to upper camel case: `MinRuq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MAX_RAQ` should have an upper camel case name
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:295:8
[INFO] [stdout]     |
[INFO] [stdout] 295 | struct MAX_RAQ;
[INFO] [stdout]     |        ^^^^^^^ help: convert the identifier to upper camel case: `MaxRaq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MIN_RAQ` should have an upper camel case name
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:318:8
[INFO] [stdout]     |
[INFO] [stdout] 318 | struct MIN_RAQ;
[INFO] [stdout]     |        ^^^^^^^ help: convert the identifier to upper camel case: `MinRaq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MIN_RAQ` should have an upper camel case name
[INFO] [stdout]    --> src/graph/lazy_segment_tree_new.rs:207:10
[INFO] [stdout]     |
[INFO] [stdout] 207 |   struct MIN_RAQ;
[INFO] [stdout]     |          ^^^^^^^ help: convert the identifier to upper camel case: `MinRaq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Add`
[INFO] [stdout]  --> src/coord_compression.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Add;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MAX_RUQ` should have an upper camel case name
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:221:8
[INFO] [stdout]     |
[INFO] [stdout] 221 | struct MAX_RUQ;
[INFO] [stdout]     |        ^^^^^^^ help: convert the identifier to upper camel case: `MaxRuq`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MIN_RUQ` should have an upper camel case name
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:257:8
[INFO] [stdout]     |
[INFO] [stdout] 257 | struct MIN_RUQ;
[INFO] [stdout]     |        ^^^^^^^ help: convert the identifier to upper camel case: `MinRuq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MAX_RAQ` should have an upper camel case name
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:295:8
[INFO] [stdout]     |
[INFO] [stdout] 295 | struct MAX_RAQ;
[INFO] [stdout]     |        ^^^^^^^ help: convert the identifier to upper camel case: `MaxRaq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MIN_RAQ` should have an upper camel case name
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:318:8
[INFO] [stdout]     |
[INFO] [stdout] 318 | struct MIN_RAQ;
[INFO] [stdout]     |        ^^^^^^^ help: convert the identifier to upper camel case: `MinRaq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MIN_RAQ` should have an upper camel case name
[INFO] [stdout]    --> src/graph/lazy_segment_tree_new.rs:207:10
[INFO] [stdout]     |
[INFO] [stdout] 207 |   struct MIN_RAQ;
[INFO] [stdout]     |          ^^^^^^^ help: convert the identifier to upper camel case: `MinRaq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/graph/bellmanford.rs:23:29
[INFO] [stdout]    |
[INFO] [stdout] 23 |   pub fn find_negative_loop(v: usize, n: usize, edge: &[(usize, usize, i64)]) -> bool {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:235:23
[INFO] [stdout]     |
[INFO] [stdout] 235 |     fn ap(f: Self::F, x: Self::Monoid) -> Self::Monoid {
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:238:28
[INFO] [stdout]     |
[INFO] [stdout] 238 |     fn compose(f: Self::F, g: Self::F) -> Self::F {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:271:23
[INFO] [stdout]     |
[INFO] [stdout] 271 |     fn ap(f: Self::F, x: Self::Monoid) -> Self::Monoid {
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:274:28
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn compose(f: Self::F, g: Self::F) -> Self::F {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BinarySearch` is never used
[INFO] [stdout]  --> src/binary_search.rs:1:7
[INFO] [stdout]   |
[INFO] [stdout] 1 | trait BinarySearch<T> {
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Line` is never constructed
[INFO] [stdout]  --> src/convex_hull_trick.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Line {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `y` are never used
[INFO] [stdout]   --> src/convex_hull_trick.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Line {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 11 |     #[doc = "y=ax+b"]
[INFO] [stdout] 12 |     pub fn new(a: i64, b: i64) -> Line {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn y(&self, x: i64) -> i64 {
[INFO] [stdout]    |            ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConvexHullTrick` is never constructed
[INFO] [stdout]   --> src/convex_hull_trick.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct ConvexHullTrick {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/convex_hull_trick.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl ConvexHullTrick {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 25 |     pub fn new() -> ConvexHullTrick {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn check(l1: (i64, i64), l2: (i64, i64), l3: (i64, i64)) -> bool {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn add(&mut self, line: Line) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn f(&self, i: usize, x: i64) -> i64 {
[INFO] [stdout]    |            ^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn get<F: Fn(i64, i64) -> bool>(&self, x: i64, comp: F) -> Line {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn get_upper(&self, x: i64) -> Line {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn get_lower(&self, x: i64) -> Line {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compress_vec` is never used
[INFO] [stdout]   --> src/coord_compression.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn compress_vec<T: PartialEq + Copy>(input_vec: Vec<T>) -> Vec<(T, usize)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Graph` is never used
[INFO] [stdout]  --> src/graph/adjacency.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | enum Graph {
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UndirectedGraph` is never constructed
[INFO] [stdout]  --> src/graph/adjacency.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct UndirectedGraph {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DirectedGraph` is never constructed
[INFO] [stdout]   --> src/graph/adjacency.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct DirectedGraph {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `is_bipartite`, and `kruskal` are never used
[INFO] [stdout]   --> src/graph/adjacency.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl UndirectedGraph {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn new(n: usize, edge: &[(usize, usize)]) -> UndirectedGraph {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn is_bipartite(&mut self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn kruskal(&mut self) {}
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX` is never used
[INFO] [stdout]  --> src/graph/bellmanford.rs:1:7
[INFO] [stdout]   |
[INFO] [stdout] 1 | const MAX: i64 = std::i64::MAX;
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BellmanFord` is never constructed
[INFO] [stdout]  --> src/graph/bellmanford.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct BellmanFord {}
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `shortest_path` and `find_negative_loop` are never used
[INFO] [stdout]   --> src/graph/bellmanford.rs:6:10
[INFO] [stdout]    |
[INFO] [stdout] 5  | impl BellmanFord {
[INFO] [stdout]    | ---------------- associated functions in this implementation
[INFO] [stdout] 6  |   pub fn shortest_path(v: usize, n: usize, edge: &[(usize, usize, i64)]) -> Vec<i64> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |   pub fn find_negative_loop(v: usize, n: usize, edge: &[(usize, usize, i64)]) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BIT` is never constructed
[INFO] [stdout]  --> src/graph/binary_indexed_tree.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct BIT {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add`, and `sum` are never used
[INFO] [stdout]   --> src/graph/binary_indexed_tree.rs:8:6
[INFO] [stdout]    |
[INFO] [stdout] 7  | impl BIT {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout] 8  |   fn new(size: usize) -> Self {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |   fn add(&mut self, index: usize, value: i64) {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |   fn sum(&mut self, index: usize) -> i64 {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]  --> src/graph/dijkstra.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn main() {}
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX` is never used
[INFO] [stdout]  --> src/graph/dijkstra.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | const MAX: i64 = std::i64::MAX;
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dijkstra` is never constructed
[INFO] [stdout]  --> src/graph/dijkstra.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Dijkstra {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Edge` is never constructed
[INFO] [stdout]   --> src/graph/dijkstra.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Edge {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `dijkstra`, `get_path`, and `warshall_floyed` are never used
[INFO] [stdout]   --> src/graph/dijkstra.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Dijkstra {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 17 |   pub fn new(n: usize, edge: &[Edge]) -> Dijkstra {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |   pub fn dijkstra(&mut self, s: usize) -> (Vec<i64>, Vec<i64>) {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |   pub fn get_path(&mut self, s: usize, t: usize) -> Vec<i64> {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |   pub fn warshall_floyed(&mut self) -> Vec<Vec<i64>> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LazySegmentTree` is never constructed
[INFO] [stdout]  --> src/graph/lazy_segment_tree.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct LazySegmentTree<T> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Monoid` is never used
[INFO] [stdout]  --> src/graph/lazy_segment_tree.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | trait Monoid: Copy {
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get`, and `range_update` are never used
[INFO] [stdout]   --> src/graph/lazy_segment_tree.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl<T: Copy + Eq + Debug + Monoid> LazySegmentTree<T> {
[INFO] [stdout]    | ------------------------------------------------------ associated items in this implementation
[INFO] [stdout] 14 |     fn new(n: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn get(&mut self, left: usize, right: usize) -> T {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn range_update(&mut self, left: usize, right: usize, value: T) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SEGLazyImpl` is never used
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:126:7
[INFO] [stdout]     |
[INFO] [stdout] 126 | trait SEGLazyImpl {
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SEGLazy` is never constructed
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | struct SEGLazy<T: SEGLazyImpl> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `propagate`, `do_update`, `update`, `do_query`, and `query` are never used
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | impl<T: SEGLazyImpl> SEGLazy<T> {
[INFO] [stdout]     | ------------------------------- associated items in this implementation
[INFO] [stdout] 150 |     pub fn new(n: usize, init: T::Monoid) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     fn propagate(&mut self, k: usize) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     fn do_update(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn update(&mut self, l: usize, r: usize, x: T::F) -> T::Monoid {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     fn do_query(&mut self, a: usize, b: usize, k: usize, l: usize, r: usize) -> T::Monoid {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn query(&mut self, l: usize, r: usize) -> T::Monoid {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MAX_RUQ` is never constructed
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:221:8
[INFO] [stdout]     |
[INFO] [stdout] 221 | struct MAX_RUQ;
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MIN_RUQ` is never constructed
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:257:8
[INFO] [stdout]     |
[INFO] [stdout] 257 | struct MIN_RUQ;
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MAX_RAQ` is never constructed
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:295:8
[INFO] [stdout]     |
[INFO] [stdout] 295 | struct MAX_RAQ;
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MIN_RAQ` is never constructed
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:318:8
[INFO] [stdout]     |
[INFO] [stdout] 318 | struct MIN_RAQ;
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `id`, `op`, `e`, `action`, and `compose` are never used
[INFO] [stdout]   --> src/graph/lazy_segment_tree_new.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 8  |   pub trait SEGLazyImpl {
[INFO] [stdout]    |             ----------- associated functions in this trait
[INFO] [stdout] ...
[INFO] [stdout] 11 |     fn id() -> Self::Monoid;
[INFO] [stdout]    |        ^^
[INFO] [stdout] 12 |     fn op(x: Self::Monoid, y: Self::Monoid) -> Self::Monoid;
[INFO] [stdout]    |        ^^
[INFO] [stdout] 13 |     fn e() -> Self::Action;
[INFO] [stdout]    |        ^
[INFO] [stdout] 14 |     fn action(f: Self::Action, x: Self::Monoid) -> Self::Monoid;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 15 |     fn compose(f: Self::Action, g: Self::Action) -> Self::Action;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SEGLazy` is never constructed
[INFO] [stdout]   --> src/graph/lazy_segment_tree_new.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 |   pub struct SEGLazy<T: SEGLazyImpl> {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set`, `build`, `query`, and `operate_range` are never used
[INFO] [stdout]   --> src/graph/lazy_segment_tree_new.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |   impl<T: SEGLazyImpl> SEGLazy<T> {
[INFO] [stdout]    |   ------------------------------- associated items in this implementation
[INFO] [stdout] 26 |     pub fn new(n: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn set(&mut self, mut i: usize, x: T::Monoid) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn build(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn query(&mut self, range: impl RangeBounds<usize>) -> T::Monoid {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn operate_range(&mut self, range: impl RangeBounds<usize>, x: T::Action) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LCA` is never constructed
[INFO] [stdout]  --> src/graph/lca.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct LCA {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `edge`, `dfs`, `build`, `lca`, and `distance` are never used
[INFO] [stdout]   --> src/graph/lca.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl LCA {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout] 11 |   pub fn new(n: usize) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |   pub fn edge(&mut self, u: usize, v: usize) {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |   fn dfs(&mut self, u: usize, parent: Option<usize>, depth: usize) {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |   pub fn build(&mut self, root: usize) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |   pub fn lca(&self, u: usize, v: usize) -> usize {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |   pub fn distance(&self, u: usize, v: usize) -> usize {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Edge` is never constructed
[INFO] [stdout]  --> src/graph/maximum_flow.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Edge {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Network` is never constructed
[INFO] [stdout]   --> src/graph/maximum_flow.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct Network {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_edge`, `n`, `bfs`, `dfs`, and `max_flow` are never used
[INFO] [stdout]   --> src/graph/maximum_flow.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Network {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 18 |     fn new(n: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn add_edge(&mut self, from: usize, to: usize, cap: i64) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn n(&self) -> usize {
[INFO] [stdout]    |        ^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     fn bfs(&mut self, s: usize) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     fn dfs(&mut self, s: usize, t: usize, f: i64) -> i64 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn max_flow(&mut self, s: usize, t: usize) -> i64 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SegmentTree` is never constructed
[INFO] [stdout]  --> src/graph/segment_tree.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | struct SegmentTree<T> {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Monoid` is never used
[INFO] [stdout]  --> src/graph/segment_tree.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | trait Monoid: Copy {
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get`, `update`, and `add` are never used
[INFO] [stdout]   --> src/graph/segment_tree.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl<T: Copy + Eq + Debug + Monoid> SegmentTree<T> {
[INFO] [stdout]    | -------------------------------------------------- associated items in this implementation
[INFO] [stdout] 14 |   fn new(n: usize) -> Self {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |   fn get(&self, range: impl RangeBounds<usize>) -> T {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |   fn update(&mut self, index: usize, value: T) {
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |   fn add(&mut self, index: usize, value: T) {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `id` and `op` are never used
[INFO] [stdout]    --> src/graph/segment_tree.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 115 |   pub trait Monoid: Copy {
[INFO] [stdout]     |             ------ associated functions in this trait
[INFO] [stdout] 116 |     fn id() -> Self;
[INFO] [stdout]     |        ^^
[INFO] [stdout] 117 |     fn op(l: Self, r: Self) -> Self;
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SegTree` is never constructed
[INFO] [stdout]    --> src/graph/segment_tree.rs:119:14
[INFO] [stdout]     |
[INFO] [stdout] 119 |   pub struct SegTree<T: Monoid> {
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set`, `build`, and `query` are never used
[INFO] [stdout]    --> src/graph/segment_tree.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 125 |   impl<T: Monoid> SegTree<T> {
[INFO] [stdout]     |   -------------------------- associated items in this implementation
[INFO] [stdout] 126 |     pub fn new(n: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn set(&mut self, idx: usize, x: T) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     fn build(&mut self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn query(&mut self, range: impl RangeBounds<usize>) -> T {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOD` is never used
[INFO] [stdout]  --> src/math/combination.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const MOD: usize = 998244353;
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `combination` is never used
[INFO] [stdout]  --> src/math/combination.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn combination(n: usize, r: usize) -> usize {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pow` is never used
[INFO] [stdout]   --> src/math/combination.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn pow(x: usize, n: usize) -> usize {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binom` is never used
[INFO] [stdout]   --> src/math/combination.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn binom() -> Vec<Vec<Mod>> {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gauss_crt` is never used
[INFO] [stdout]   --> src/math/crt.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn gauss_crt(rm: &Vec<(usize, usize)>) -> (usize, usize) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gcd` is never used
[INFO] [stdout]  --> src/math/gcd.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn gcd(a: i64, b: i64) -> i64 {
[INFO] [stdout]   |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lcm` is never used
[INFO] [stdout]   --> src/math/gcd.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn lcm(a: i64, b: i64) -> i64 {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extgcd1` is never used
[INFO] [stdout]   --> src/math/gcd.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn extgcd1(a: i64, b: i64) -> (i64, i64, i64) {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extgcd2` is never used
[INFO] [stdout]   --> src/math/gcd.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn extgcd2(a: i64, b: i64, x: &mut i64, y: &mut i64) -> i64 {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `modinv` is never used
[INFO] [stdout]   --> src/math/gcd.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn modinv(mut a: i64, modulo: i64) -> i64 {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOG_N` is never used
[INFO] [stdout]   --> src/math/hilbert.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | const LOG_N: usize = 20; //2^LOG_N > n
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_N` is never used
[INFO] [stdout]   --> src/math/hilbert.rs:54:7
[INFO] [stdout]    |
[INFO] [stdout] 54 | const MAX_N: usize = 1 << LOG_N;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hilbert_order` is never used
[INFO] [stdout]   --> src/math/hilbert.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn hilbert_order(x: usize, y: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `matrix_product` is never used
[INFO] [stdout]  --> src/math/matrix.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn matrix_product(a: &Vec<Vec<usize>>, b: &Vec<Vec<usize>>) -> Vec<Vec<usize>> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vector_product` is never used
[INFO] [stdout]   --> src/math/matrix.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn vector_product(a: &Vec<Vec<i64>>, b: &Vec<i64>) -> Vec<i64> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `matrix_pow` is never used
[INFO] [stdout]   --> src/math/matrix.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn matrix_pow(x: &Vec<Vec<usize>>, k: usize) -> Vec<Vec<usize>> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Matrix` is never constructed
[INFO] [stdout]   --> src/math/matrix.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct Matrix {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MatrixInfo` is never constructed
[INFO] [stdout]   --> src/math/matrix.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct MatrixInfo {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `EPS`, `new`, and `gauss_jordan` are never used
[INFO] [stdout]   --> src/math/matrix.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl Matrix {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 47 |   const EPS: f64 = 1e-10;
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 48 |   fn new(a: Vec<Vec<f64>>) -> Self {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |   fn gauss_jordan(&mut self) -> MatrixInfo {
[INFO] [stdout]    |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MatrixXOR` is never constructed
[INFO] [stdout]   --> src/math/matrix.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | struct MatrixXOR {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `gauss_jordan` are never used
[INFO] [stdout]   --> src/math/matrix.rs:90:6
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl MatrixXOR {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 90 |   fn new(a: Vec<Vec<usize>>) -> Self {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |   fn gauss_jordan(&mut self) -> MatrixInfo {
[INFO] [stdout]    |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MatrixBitSet` is never constructed
[INFO] [stdout]    --> src/math/matrix.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | struct MatrixBitSet {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `gauss_jordan` are never used
[INFO] [stdout]    --> src/math/matrix.rs:118:10
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl MatrixBitSet {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 118 |   pub fn new(bitsets: Vec<FixedBitSet>) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |   pub fn gauss_jordan(&mut self) -> MatrixInfo {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `factors` is never used
[INFO] [stdout]  --> src/math/prime.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn factors(x: usize) -> Vec<usize> {
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `firstfac` is never used
[INFO] [stdout]   --> src/math/prime.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn firstfac(x: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_prime` is never used
[INFO] [stdout]   --> src/math/prime.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn is_prime(n: usize) -> bool {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `divisor` is never used
[INFO] [stdout]   --> src/math/prime.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn divisor(n: usize) -> Vec<usize> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sieve` is never used
[INFO] [stdout]   --> src/math/prime.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn sieve(n: usize) -> usize {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pow` is never used
[INFO] [stdout]   --> src/math/prime.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn pow(x: usize, n: usize) -> usize {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pop_first` and `pop_last` are never used
[INFO] [stdout]   --> src/multi_set.rs:43:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl<T: Ord + Clone + Copy + std::fmt::Debug> BTreeMultiSet<T> {
[INFO] [stdout]    | -------------------------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 43 |   fn pop_first(&mut self) -> Option<T> {
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |   fn pop_last(&mut self) -> Option<T> {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pop_first` and `pop_last` are never used
[INFO] [stdout]    --> src/multi_set.rs:199:6
[INFO] [stdout]     |
[INFO] [stdout] 173 | impl<T: Ord + Clone + Copy + std::fmt::Debug> BTreeMultiMap<T> {
[INFO] [stdout]     | -------------------------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 199 |   fn pop_first(&mut self) -> Option<T> {
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |   fn pop_last(&mut self) -> Option<T> {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BTreeRangeSet` is never constructed
[INFO] [stdout]  --> src/range_set.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | struct BTreeRangeSet {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `insert`, `range_insert`, `contains`, `remove`, and `mex` are never used
[INFO] [stdout]    --> src/range_set.rs:6:10
[INFO] [stdout]     |
[INFO] [stdout] 5   | impl BTreeRangeSet {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 6   |   pub fn new() -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 11  |   pub fn insert(&mut self, x: i64) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36  |   pub fn range_insert(&mut self, range: impl std::ops::RangeBounds<i64>) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74  |   pub fn contains(&self, range: impl std::ops::RangeBounds<i64>) -> Option<(i64, i64)> {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93  |   pub fn remove(&mut self, x: i64) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |   pub fn mex(&self, x: i64) -> i64 {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]  --> src/range_tree.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Point<X, Y, V> {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RangeTree` is never constructed
[INFO] [stdout]  --> src/range_tree.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct RangeTree<X, Y, V> {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `fold` are never used
[INFO] [stdout]   --> src/range_tree.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl RangeTree<i64, i64, i64> {
[INFO] [stdout]    | ----------------------------- associated items in this implementation
[INFO] [stdout] 17 |   pub fn new(points: &mut Vec<Point<i64, i64, i64>>) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |   pub fn fold(&self, x_range: impl std::ops::RangeBounds<i64>, y_range: impl std::ops::RangeBounds<i64>) -> i64 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RoLiHa` is never constructed
[INFO] [stdout]  --> src/string/roliha.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct RoLiHa {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROLIHA_MASK30` is never used
[INFO] [stdout]   --> src/string/roliha.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const ROLIHA_MASK30: u64 = (1 << 30) - 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROLIHA_MASK31` is never used
[INFO] [stdout]   --> src/string/roliha.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const ROLIHA_MASK31: u64 = (1 << 31) - 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROLIHA_MOD` is never used
[INFO] [stdout]   --> src/string/roliha.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const ROLIHA_MOD: u64 = (1 << 61) - 1;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROLIHA_P` is never used
[INFO] [stdout]   --> src/string/roliha.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const ROLIHA_P: u64 = ROLIHA_MOD * ((1 << 3) - 1);
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get`, `connect`, `mul`, and `calcmod` are never used
[INFO] [stdout]   --> src/string/roliha.rs:22:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl RoLiHa {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 21 |   #[doc = "注意: Sに0は含まれてはいけない"]
[INFO] [stdout] 22 |   fn new(s: &[u64]) -> Self {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |   pub fn get(&self, l: usize, r: usize) -> u64 {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |   pub fn connect(&self, h1: u64, h2: u64, h2len: usize) -> u64 {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |   fn mul(l: u64, r: u64) -> u64 {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |   fn calcmod(x: u64) -> u64 {
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SuffixArray` is never constructed
[INFO] [stdout]   --> src/string/suffix_array.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct SuffixArray {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `sort_cyclic_shifts`, `lt_substr`, `lower_bound`, and `right_most_index` are never used
[INFO] [stdout]    --> src/string/suffix_array.rs:24:10
[INFO] [stdout]     |
[INFO] [stdout] 23  | impl SuffixArray {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 24  |   pub fn new(s: Vec<u64>) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32  |   fn sort_cyclic_shifts(s: &[u64]) -> Vec<usize> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |   fn lt_substr(s: &[u64], t: &[u64], si: usize, ti: usize) -> bool {
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |   fn lower_bound(&self, t: &[u64]) -> usize {
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |   pub fn right_most_index(&self, t: &[u64]) -> usize {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `as_v` is never used
[INFO] [stdout]    --> src/string/suffix_array.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn as_v(s: &str) -> Vec<u64> {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ternary_search` is never used
[INFO] [stdout]  --> src/ternary_search.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn ternary_search<F: Fn(f64) -> f64>(f: F, l: f64, r: f64) -> f64 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `LazySeg` should have a snake case name
[INFO] [stdout]  --> src/graph/lazy_segment_tree_new.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | mod LazySeg {
[INFO] [stdout]   |     ^^^^^^^ help: convert the identifier to snake case: `lazy_seg`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `INF` should have a snake case name
[INFO] [stdout]   --> src/graph/maximum_flow.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |             let INF = 2_000_000_001;
[INFO] [stdout]    |                 ^^^ help: convert the identifier to snake case: `inf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `SegTree` should have a snake case name
[INFO] [stdout]    --> src/graph/segment_tree.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | mod SegTree {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to snake case: `seg_tree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `powMemo` should have a snake case name
[INFO] [stdout]  --> src/string/roliha.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 8 |   powMemo: Vec<u64>,
[INFO] [stdout]   |   ^^^^^^^ help: convert the identifier to snake case: `pow_memo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `powMemo` should have a snake case name
[INFO] [stdout]   --> src/string/roliha.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut powMemo = vec![0; s.len() + 1];
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `pow_memo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `alphabet` should have an upper case name
[INFO] [stdout]   --> src/string/suffix_array.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 |     const alphabet: usize = 256;
[INFO] [stdout]    |           ^^^^^^^^ help: convert the identifier to upper case: `ALPHABET`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/graph/bellmanford.rs:23:29
[INFO] [stdout]    |
[INFO] [stdout] 23 |   pub fn find_negative_loop(v: usize, n: usize, edge: &[(usize, usize, i64)]) -> bool {
[INFO] [stdout]    |                             ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/graph/dijkstra.rs:88:7
[INFO] [stdout]    |
[INFO] [stdout] 88 |   let mut edge = [
[INFO] [stdout]    |       ----^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:235:23
[INFO] [stdout]     |
[INFO] [stdout] 235 |     fn ap(f: Self::F, x: Self::Monoid) -> Self::Monoid {
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:238:28
[INFO] [stdout]     |
[INFO] [stdout] 238 |     fn compose(f: Self::F, g: Self::F) -> Self::F {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:271:23
[INFO] [stdout]     |
[INFO] [stdout] 271 |     fn ap(f: Self::F, x: Self::Monoid) -> Self::Monoid {
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `g`
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:274:28
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn compose(f: Self::F, g: Self::F) -> Self::F {
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_g`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tree`
[INFO] [stdout]   --> src/graph/lca.rs:79:7
[INFO] [stdout]    |
[INFO] [stdout] 79 |   let tree = vec![vec![1, 2], vec![0, 3, 4], vec![0, 5], vec![1], vec![1, 6, 7], vec![2], vec![4], vec![4]];
[INFO] [stdout]    |       ^^^^ help: if this is intentional, prefix it with an underscore: `_tree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_upper` is never used
[INFO] [stdout]   --> src/convex_hull_trick.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl ConvexHullTrick {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn get_upper(&self, x: i64) -> Line {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compress_vec` is never used
[INFO] [stdout]   --> src/coord_compression.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn compress_vec<T: PartialEq + Copy>(input_vec: Vec<T>) -> Vec<(T, usize)> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Graph` is never used
[INFO] [stdout]  --> src/graph/adjacency.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | enum Graph {
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DirectedGraph` is never constructed
[INFO] [stdout]   --> src/graph/adjacency.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct DirectedGraph {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `kruskal` is never used
[INFO] [stdout]   --> src/graph/adjacency.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl UndirectedGraph {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn kruskal(&mut self) {}
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX` is never used
[INFO] [stdout]  --> src/graph/bellmanford.rs:1:7
[INFO] [stdout]   |
[INFO] [stdout] 1 | const MAX: i64 = std::i64::MAX;
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BellmanFord` is never constructed
[INFO] [stdout]  --> src/graph/bellmanford.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct BellmanFord {}
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `shortest_path` and `find_negative_loop` are never used
[INFO] [stdout]   --> src/graph/bellmanford.rs:6:10
[INFO] [stdout]    |
[INFO] [stdout] 5  | impl BellmanFord {
[INFO] [stdout]    | ---------------- associated functions in this implementation
[INFO] [stdout] 6  |   pub fn shortest_path(v: usize, n: usize, edge: &[(usize, usize, i64)]) -> Vec<i64> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |   pub fn find_negative_loop(v: usize, n: usize, edge: &[(usize, usize, i64)]) -> bool {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]  --> src/graph/dijkstra.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn main() {}
[INFO] [stdout]   |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MAX_RAQ` is never constructed
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:295:8
[INFO] [stdout]     |
[INFO] [stdout] 295 | struct MAX_RAQ;
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `add` is never used
[INFO] [stdout]   --> src/graph/segment_tree.rs:56:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl<T: Copy + Eq + Debug + Monoid> SegmentTree<T> {
[INFO] [stdout]    | -------------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |   fn add(&mut self, index: usize, value: T) {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOD` is never used
[INFO] [stdout]  --> src/math/combination.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const MOD: usize = 998244353;
[INFO] [stdout]   |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `combination` is never used
[INFO] [stdout]  --> src/math/combination.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn combination(n: usize, r: usize) -> usize {
[INFO] [stdout]   |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pow` is never used
[INFO] [stdout]   --> src/math/combination.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn pow(x: usize, n: usize) -> usize {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binom` is never used
[INFO] [stdout]   --> src/math/combination.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn binom() -> Vec<Vec<Mod>> {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gcd` is never used
[INFO] [stdout]  --> src/math/gcd.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn gcd(a: i64, b: i64) -> i64 {
[INFO] [stdout]   |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lcm` is never used
[INFO] [stdout]   --> src/math/gcd.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn lcm(a: i64, b: i64) -> i64 {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extgcd1` is never used
[INFO] [stdout]   --> src/math/gcd.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn extgcd1(a: i64, b: i64) -> (i64, i64, i64) {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extgcd2` is never used
[INFO] [stdout]   --> src/math/gcd.rs:27:4
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn extgcd2(a: i64, b: i64, x: &mut i64, y: &mut i64) -> i64 {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `modinv` is never used
[INFO] [stdout]   --> src/math/gcd.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn modinv(mut a: i64, modulo: i64) -> i64 {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOG_N` is never used
[INFO] [stdout]   --> src/math/hilbert.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | const LOG_N: usize = 20; //2^LOG_N > n
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_N` is never used
[INFO] [stdout]   --> src/math/hilbert.rs:54:7
[INFO] [stdout]    |
[INFO] [stdout] 54 | const MAX_N: usize = 1 << LOG_N;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hilbert_order` is never used
[INFO] [stdout]   --> src/math/hilbert.rs:55:4
[INFO] [stdout]    |
[INFO] [stdout] 55 | fn hilbert_order(x: usize, y: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `matrix_product` is never used
[INFO] [stdout]  --> src/math/matrix.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn matrix_product(a: &Vec<Vec<usize>>, b: &Vec<Vec<usize>>) -> Vec<Vec<usize>> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vector_product` is never used
[INFO] [stdout]   --> src/math/matrix.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn vector_product(a: &Vec<Vec<i64>>, b: &Vec<i64>) -> Vec<i64> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `matrix_pow` is never used
[INFO] [stdout]   --> src/math/matrix.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn matrix_pow(x: &Vec<Vec<usize>>, k: usize) -> Vec<Vec<usize>> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Matrix` is never constructed
[INFO] [stdout]   --> src/math/matrix.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | struct Matrix {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MatrixInfo` is never constructed
[INFO] [stdout]   --> src/math/matrix.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | struct MatrixInfo {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `EPS`, `new`, and `gauss_jordan` are never used
[INFO] [stdout]   --> src/math/matrix.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | impl Matrix {
[INFO] [stdout]    | ----------- associated items in this implementation
[INFO] [stdout] 47 |   const EPS: f64 = 1e-10;
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 48 |   fn new(a: Vec<Vec<f64>>) -> Self {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |   fn gauss_jordan(&mut self) -> MatrixInfo {
[INFO] [stdout]    |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MatrixXOR` is never constructed
[INFO] [stdout]   --> src/math/matrix.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | struct MatrixXOR {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `gauss_jordan` are never used
[INFO] [stdout]   --> src/math/matrix.rs:90:6
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl MatrixXOR {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 90 |   fn new(a: Vec<Vec<usize>>) -> Self {
[INFO] [stdout]    |      ^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |   fn gauss_jordan(&mut self) -> MatrixInfo {
[INFO] [stdout]    |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MatrixBitSet` is never constructed
[INFO] [stdout]    --> src/math/matrix.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | struct MatrixBitSet {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `gauss_jordan` are never used
[INFO] [stdout]    --> src/math/matrix.rs:118:10
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl MatrixBitSet {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 118 |   pub fn new(bitsets: Vec<FixedBitSet>) -> Self {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |   pub fn gauss_jordan(&mut self) -> MatrixInfo {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `factors` is never used
[INFO] [stdout]  --> src/math/prime.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn factors(x: usize) -> Vec<usize> {
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `firstfac` is never used
[INFO] [stdout]   --> src/math/prime.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn firstfac(x: usize) -> usize {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_prime` is never used
[INFO] [stdout]   --> src/math/prime.rs:41:4
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn is_prime(n: usize) -> bool {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `divisor` is never used
[INFO] [stdout]   --> src/math/prime.rs:49:4
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn divisor(n: usize) -> Vec<usize> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sieve` is never used
[INFO] [stdout]   --> src/math/prime.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn sieve(n: usize) -> usize {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pow` is never used
[INFO] [stdout]   --> src/math/prime.rs:84:4
[INFO] [stdout]    |
[INFO] [stdout] 84 | fn pow(x: usize, n: usize) -> usize {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `range_insert`, `remove`, and `mex` are never used
[INFO] [stdout]    --> src/range_set.rs:36:10
[INFO] [stdout]     |
[INFO] [stdout] 5   | impl BTreeRangeSet {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36  |   pub fn range_insert(&mut self, range: impl std::ops::RangeBounds<i64>) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93  |   pub fn remove(&mut self, x: i64) -> bool {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |   pub fn mex(&self, x: i64) -> i64 {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]  --> src/range_tree.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Point<X, Y, V> {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RangeTree` is never constructed
[INFO] [stdout]  --> src/range_tree.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | struct RangeTree<X, Y, V> {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `fold` are never used
[INFO] [stdout]   --> src/range_tree.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl RangeTree<i64, i64, i64> {
[INFO] [stdout]    | ----------------------------- associated items in this implementation
[INFO] [stdout] 17 |   pub fn new(points: &mut Vec<Point<i64, i64, i64>>) -> Self {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |   pub fn fold(&self, x_range: impl std::ops::RangeBounds<i64>, y_range: impl std::ops::RangeBounds<i64>) -> i64 {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ternary_search` is never used
[INFO] [stdout]  --> src/ternary_search.rs:5:4
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn ternary_search<F: Fn(f64) -> f64>(f: F, l: f64, r: f64) -> f64 {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_MAX_RUQ` should have a snake case name
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:243:4
[INFO] [stdout]     |
[INFO] [stdout] 243 | fn test_MAX_RUQ() {
[INFO] [stdout]     |    ^^^^^^^^^^^^ help: convert the identifier to snake case: `test_max_ruq`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_MIN_RUQ` should have a snake case name
[INFO] [stdout]    --> src/graph/lazy_segment_tree.rs:279:4
[INFO] [stdout]     |
[INFO] [stdout] 279 | fn test_MIN_RUQ() {
[INFO] [stdout]     |    ^^^^^^^^^^^^ help: convert the identifier to snake case: `test_min_ruq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `LazySeg` should have a snake case name
[INFO] [stdout]  --> src/graph/lazy_segment_tree_new.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | mod LazySeg {
[INFO] [stdout]   |     ^^^^^^^ help: convert the identifier to snake case: `lazy_seg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `INF` should have a snake case name
[INFO] [stdout]   --> src/graph/maximum_flow.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |             let INF = 2_000_000_001;
[INFO] [stdout]    |                 ^^^ help: convert the identifier to snake case: `inf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `SegTree` should have a snake case name
[INFO] [stdout]    --> src/graph/segment_tree.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | mod SegTree {
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to snake case: `seg_tree`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `powMemo` should have a snake case name
[INFO] [stdout]  --> src/string/roliha.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 8 |   powMemo: Vec<u64>,
[INFO] [stdout]   |   ^^^^^^^ help: convert the identifier to snake case: `pow_memo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `powMemo` should have a snake case name
[INFO] [stdout]   --> src/string/roliha.rs:27:13
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut powMemo = vec![0; s.len() + 1];
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `pow_memo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `alphabet` should have an upper case name
[INFO] [stdout]   --> src/string/suffix_array.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 |     const alphabet: usize = 256;
[INFO] [stdout]    |           ^^^^^^^^ help: convert the identifier to upper case: `ALPHABET`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.90s
[INFO] running `Command { std: "docker" "inspect" "77d6baa00dac15b10f24b291054bc918735f824bed46137e4f50d1ee1a7f213c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "77d6baa00dac15b10f24b291054bc918735f824bed46137e4f50d1ee1a7f213c", kill_on_drop: false }`
[INFO] [stdout] 77d6baa00dac15b10f24b291054bc918735f824bed46137e4f50d1ee1a7f213c
