pub fn tri(c: u8, base: u8) -> u8
Maps 0 => 0, base - 2 => 1, base - 1 => 2.
0 => 0, base - 2 => 1, base - 1 => 2