pub fn normalize_cycle_1based(cycle_1based: &[usize]) -> Result<Vec<usize>>
normalize cycle so that cycle[1] == 1; keep 1-based convention with index 0 unused